diff --git a/gtk+-2.8.6-fontsel-fix.patch b/gtk+-2.8.6-fontsel-fix.patch deleted file mode 100644 index 8eef8cb..0000000 --- a/gtk+-2.8.6-fontsel-fix.patch +++ /dev/null @@ -1,119 +0,0 @@ ---- gtk/gtkfontsel.c -+++ gtk/gtkfontsel.c -@@ -595,9 +595,15 @@ - - if (gtk_widget_has_screen (GTK_WIDGET (fontsel))) - { -+ /* Disable selection timeout */ -+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); -+ - gtk_font_selection_show_available_fonts (fontsel); - gtk_font_selection_show_available_sizes (fontsel, TRUE); - gtk_font_selection_show_available_styles (fontsel); -+ -+ /* Enable selection timeout */ -+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); - } - } - -@@ -712,15 +718,24 @@ - { - GtkFontSelection *fontsel; - guint selection_timeout = 0; -+ guint immediate_selection = 0; - - fontsel = GTK_FONT_SELECTION (data); - selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); -+ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); - - if (selection_timeout) - g_source_remove (selection_timeout); - -- selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); -- g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); -+ if (immediate_selection) -+ { -+ gtk_font_selection_real_select_font (data); -+ } -+ else -+ { -+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); -+ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); -+ } - } - - static int -@@ -965,15 +980,24 @@ - { - GtkFontSelection *fontsel; - guint selection_timeout = 0; -+ guint immediate_selection = 0; - - fontsel = GTK_FONT_SELECTION (data); - selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); -+ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); - - if (selection_timeout) - g_source_remove (selection_timeout); - -- selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); -- g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); -+ if (immediate_selection) -+ { -+ gtk_font_selection_real_select_style (data); -+ } -+ else -+ { -+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); -+ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); -+ } - } - - static void -@@ -1142,15 +1166,24 @@ - { - GtkFontSelection *fontsel; - guint selection_timeout = 0; -+ guint immediate_selection = 0; - - fontsel = GTK_FONT_SELECTION (data); - selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); -+ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); - - if (selection_timeout) - g_source_remove (selection_timeout); - -- selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); -- g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); -+ if (immediate_selection) -+ { -+ gtk_font_selection_real_select_size (data); -+ } -+ else -+ { -+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); -+ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); -+ } - } - - static void -@@ -1334,6 +1367,9 @@ - if (!new_family) - return FALSE; - -+ /* Disable selection timeout */ -+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); -+ - fontsel->family = new_family; - set_cursor_to_iter (GTK_TREE_VIEW (fontsel->family_list), &iter); - gtk_font_selection_show_available_styles (fontsel); -@@ -1383,6 +1419,9 @@ - - pango_font_description_free (new_desc); - -+ /* Enable selection timeout */ -+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); -+ - return TRUE; - } - diff --git a/gtk+-2.8.6-fontsel.patch b/gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff similarity index 60% rename from gtk+-2.8.6-fontsel.patch rename to gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff index d40263f..d250a88 100644 --- a/gtk+-2.8.6-fontsel.patch +++ b/gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff @@ -1,9 +1,8 @@ -Patch updated on 17 May 2006 with this changelog: - -================================================================================ ---- gtk/gtkfontsel.c -+++ gtk/gtkfontsel.c -@@ -563,11 +563,24 @@ +diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c +index 317e336..bce5280 100644 +--- a/gtk/gtkfontsel.c ++++ b/gtk/gtkfontsel.c +@@ -549,11 +549,24 @@ static void gtk_font_selection_finalize (GObject *object) { GtkFontSelection *fontsel; @@ -28,7 +27,23 @@ Patch updated on 17 May 2006 with this changelog: if (fontsel->font) gdk_font_unref (fontsel->font); -@@ -646,10 +659,10 @@ +@@ -568,9 +581,15 @@ gtk_font_selection_screen_changed (GtkWidget *widget, + + if (gtk_widget_has_screen (GTK_WIDGET (fontsel))) + { ++ /* Disable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); ++ + gtk_font_selection_show_available_fonts (fontsel); + gtk_font_selection_show_available_sizes (fontsel, TRUE); + gtk_font_selection_show_available_styles (fontsel); ++ ++ /* Enable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); + } + } + +@@ -632,10 +651,10 @@ gtk_font_selection_scroll_on_map (GtkWidget *widget, } /* This is called when a family is selected in the list. */ @@ -42,7 +57,7 @@ Patch updated on 17 May 2006 with this changelog: GtkFontSelection *fontsel; GtkTreeModel *model; GtkTreeIter iter; -@@ -657,7 +670,11 @@ +@@ -643,7 +662,11 @@ gtk_font_selection_select_font (GtkTreeSelection *selection, const gchar *family_name; #endif @@ -54,7 +69,7 @@ Patch updated on 17 May 2006 with this changelog: if (gtk_tree_selection_get_selected (selection, &model, &iter)) { -@@ -679,6 +696,31 @@ +@@ -665,6 +688,40 @@ gtk_font_selection_select_font (GtkTreeSelection *selection, g_object_unref (family); } @@ -74,19 +89,28 @@ Patch updated on 17 May 2006 with this changelog: +{ + GtkFontSelection *fontsel; + guint selection_timeout = 0; ++ guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + -+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); -+ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_font (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); ++ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } } static int -@@ -881,14 +923,20 @@ +@@ -867,14 +924,20 @@ gtk_font_selection_select_best_style (GtkFontSelection *fontsel, /* This is called when a style is selected in the list. */ @@ -111,7 +135,7 @@ Patch updated on 17 May 2006 with this changelog: if (gtk_tree_selection_get_selected (selection, &model, &iter)) { PangoFontFace *face; -@@ -901,6 +949,31 @@ +@@ -887,6 +950,40 @@ gtk_font_selection_select_style (GtkTreeSelection *selection, gtk_font_selection_show_available_sizes (fontsel, FALSE); gtk_font_selection_select_best_size (fontsel); @@ -131,19 +155,28 @@ Patch updated on 17 May 2006 with this changelog: +{ + GtkFontSelection *fontsel; + guint selection_timeout = 0; ++ guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + -+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); -+ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_style (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); ++ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } } static void -@@ -1033,22 +1106,51 @@ +@@ -1019,22 +1116,60 @@ gtk_font_selection_size_focus_out (GtkWidget *w, } /* This is called when a size is selected in the list. */ @@ -187,15 +220,44 @@ Patch updated on 17 May 2006 with this changelog: +{ + GtkFontSelection *fontsel; + guint selection_timeout = 0; ++ guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + -+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); -+ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_size (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); ++ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } } static void +@@ -1218,6 +1353,9 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel, + if (!new_family) + return FALSE; + ++ /* Disable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); ++ + fontsel->family = new_family; + set_cursor_to_iter (GTK_TREE_VIEW (fontsel->family_list), &iter); + gtk_font_selection_show_available_styles (fontsel); +@@ -1267,6 +1405,9 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel, + + pango_font_description_free (new_desc); + ++ /* Enable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); ++ + return TRUE; + } + diff --git a/gtk2-gtkicontheme-autoupdate.patch b/gtk2-gtkicontheme-autoupdate.patch deleted file mode 100644 index e34ed6e..0000000 --- a/gtk2-gtkicontheme-autoupdate.patch +++ /dev/null @@ -1,64 +0,0 @@ -? gtk2-gtkicontheme-autoupdate.patch -================================================================================ ---- gtk/gtkicontheme.c -+++ gtk/gtkicontheme.c -@@ -230,6 +230,9 @@ - - static GHashTable *icon_theme_builtin_icons; - -+static int update_themes_callback_id; -+static GSList *update_themes_list; -+ - /* also used in gtkiconfactory.c */ - GtkIconCache *_builtin_cache = NULL; - static GList *builtin_dirs = NULL; -@@ -255,6 +258,23 @@ - return g_object_new (GTK_TYPE_ICON_THEME, NULL); - } - -+static gboolean -+update_themes_callback (gpointer user_data) -+{ -+ GSList *iterator; -+ for (iterator = update_themes_list; iterator; iterator = iterator->next) -+ { -+ GtkIconTheme *icon_theme = iterator->data; -+ GtkIconThemePrivate *priv = icon_theme->priv; -+ -+ if (priv->themes_valid) -+ { -+ gtk_icon_theme_rescan_if_needed (icon_theme); -+ } -+ } -+ return TRUE; -+} -+ - /** - * gtk_icon_theme_get_default: - * -@@ -569,6 +589,11 @@ - priv->unthemed_icons = NULL; - - priv->pixbuf_supports_svg = pixbuf_supports_svg (); -+ -+ update_themes_list = g_slist_prepend (update_themes_list, icon_theme); -+ if (update_themes_callback_id == 0) { -+ update_themes_callback_id = g_timeout_add (30 * 1000, update_themes_callback, NULL); -+ } - } - - static void -@@ -652,6 +677,13 @@ - icon_theme = GTK_ICON_THEME (object); - priv = icon_theme->priv; - -+ update_themes_list = g_slist_remove (update_themes_list, icon_theme); -+ if (update_themes_list == NULL) -+ { -+ g_source_remove (update_themes_callback_id); -+ update_themes_callback_id = 0; -+ } -+ - if (priv->reset_styles_idle) - { - g_source_remove (priv->reset_styles_idle); diff --git a/gtk2.changes b/gtk2.changes index df0e952..99077e2 100644 --- a/gtk2.changes +++ b/gtk2.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Jul 21 21:08:28 CEST 2008 - federico@novell.com + +- Tagged all the patches that didn't have tags. +- Removed gtktextview.c.diff. It was for the obsolete + https://bugzilla.novell.com/show_bug.cgi?id=380 (a crash in Red + Carpet), but since that product is dead now, and the fix was never + diagnosed properly, we can kill the patch now. +- Removed gtk2-gtkicontheme-autoupdate.patch - no idea what bug that + was trying to fix, and that was never documented in the ChangeLog. + This could have been https://bugzilla.novell.com/show_bug.cgi?id=100697 +- Removed gtk+-2.8.6-fontsel.patch and gtk+-2.8.6-fontsel-fix.patch; + replaced them by a consolidated + gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff + ------------------------------------------------------------------- Fri Jul 11 17:09:31 CEST 2008 - maw@suse.de diff --git a/gtk2.spec b/gtk2.spec index 0673bc5..39e6067 100644 --- a/gtk2.spec +++ b/gtk2.spec @@ -28,26 +28,35 @@ Group: System/Libraries AutoReqProv: on PreReq: /usr/bin/touch /bin/rm /bin/rmdir Version: 2.13.3 -Release: 5 +Release: 11 Summary: Library for Creation of Graphical User Interfaces (version 2) Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.12/%{_name}-%{version}.tar.bz2 Source1: SuSEconfig.gtk2 Source2: README.SuSE Source3: gtkrc +# PATCH-FIX-UPSTREAM gtk+-strict-aliasing.patch federico@novell.com - Fix compiler warnings. This is already in SVN trunk as of 2008/07/18 Patch: gtk+-strict-aliasing.patch +# PATCH-FIX-UPSTREAM gtk-warn.patch federico@novell.com - Fix missing include. This is already in SVN trunk as of 2008/07/18 Patch2: gtk-warn.patch +# PATCH-FEATURE-OPENSUSE gtk2-filesel-navbuttons.patch federico@novell.com - Prettify the obsolete GtkFileSelection (this is an old Ximian patch) Patch4: gtk2-filesel-navbuttons.patch +# PATCH-FEATURE-OPENSUSE gtk+-mac_ctree.patch federico@novell.com - Make the obsolete GtkCTree widget prettier (this is an old Ximian patch) Patch6: gtk+-mac_ctree.patch +# PATCH-FIX-OPENSUSE gtk64.patch sbrabec@novell.com - 64-bit dual install. See also the Fedora patch for a simpler way of doing this. Patch8: gtk64.patch +# PATCH-FIX-OPENSUSE gdk-modules-information.diff hhetter@suse.de - Info on how to manually regenerate modules information Patch12: gdk-modules-information.diff -Patch14: gtktextview.c.diff -Patch15: gtk2-gtkicontheme-autoupdate.patch +# PATCH-FIX-OPENSUSE gtk2-remove-empty-cache.patch sbrabec@novell.com - The behavior upstream as of 2008/07/18 is now to remove the old icon cache if updating it would cause it to be empty. When we update to the newest tarball, be sure to remove the "--remove-empty-cache" flag from SuSEconfig.gtk2, and remove this patch. Patch17: gtk2-remove-empty-cache.patch +# PATCH-FEATURE-UPSTREAM bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI Patch22: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff +# PATCH-FIX-OPENSUSE bugzilla-131498-allow-xim-for-all-languages.patch bnc131498 mfabian@novell.com - Allow all languages to be run with the X Input Method Patch23: bugzilla-131498-allow-xim-for-all-languages.patch -Patch24: gtk+-2.8.6-fontsel.patch -Patch31: gtk+-2.8.6-fontsel-fix.patch +# PATCH-FIX-UPSTREAM gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages +Patch24: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff +# PATCH-FIX-OPENSUSE gtk2-set-invisible-char-to-circle.patch bnc160688 federico@novell.com - Use a bullet instead of an asterisk in invisible GtkEntries (Fedora has a similar patch) Patch32: gtk2-set-invisible-char-to-circle.patch +# PATCH-FIX-UPSTREAM gtk2-flash-player-busyloop.patch bnc294385 bgo463773 federico@novell.com - Workaround for a bug in the non-free Flash player Patch35: gtk2-flash-player-busyloop.patch # PATCH-FIX-UPSTREAM gtk2-libtool.patch schwab@suse.de -- apparently configure.in is invoking libtool in a bad way Patch36: gtk2-libtool.patch @@ -272,13 +281,10 @@ cp -a %{S:2} . %patch8 -p1 %endif %patch12 -p1 -%patch14 -p0 -%patch15 -p0 %patch17 -p0 %patch22 -p1 %patch23 -p1 -%patch24 -%patch31 +%patch24 -p1 %patch32 -p1 %patch35 %patch36 @@ -419,6 +425,18 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Mon Jul 21 2008 federico@novell.com +- Tagged all the patches that didn't have tags. +- Removed gtktextview.c.diff. It was for the obsolete + https://bugzilla.novell.com/show_bug.cgi?id=380 (a crash in Red + Carpet), but since that product is dead now, and the fix was never + diagnosed properly, we can kill the patch now. +- Removed gtk2-gtkicontheme-autoupdate.patch - no idea what bug that + was trying to fix, and that was never documented in the ChangeLog. + This could have been https://bugzilla.novell.com/show_bug.cgi?id=100697 +- Removed gtk+-2.8.6-fontsel.patch and gtk+-2.8.6-fontsel-fix.patch; + replaced them by a consolidated + gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff * Fri Jul 11 2008 maw@suse.de - Move gtk-builder-convert to the -devel subpackage - So that gtk-builder-convert can actually run, make the -devel diff --git a/gtktextview.c.diff b/gtktextview.c.diff deleted file mode 100644 index 05403da..0000000 --- a/gtktextview.c.diff +++ /dev/null @@ -1,61 +0,0 @@ -Index: gtk/gtktextview.c -=================================================================== ---- gtk/gtktextview.c.orig -+++ gtk/gtktextview.c -@@ -6043,29 +6043,6 @@ gtk_text_view_ensure_layout (GtkTextView - G_CALLBACK (gtk_text_view_child_allocated), - text_view); - -- if (get_buffer (text_view)) -- gtk_text_layout_set_buffer (text_view->layout, get_buffer (text_view)); -- -- if ((GTK_WIDGET_HAS_FOCUS (text_view) && text_view->cursor_visible)) -- gtk_text_view_pend_cursor_blink (text_view); -- else -- gtk_text_layout_set_cursor_visible (text_view->layout, FALSE); -- -- gtk_text_layout_set_overwrite_mode (text_view->layout, -- text_view->overwrite_mode && text_view->editable); -- -- ltr_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); -- pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR); -- rtl_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); -- pango_context_set_base_dir (rtl_context, PANGO_DIRECTION_RTL); -- -- gtk_text_layout_set_contexts (text_view->layout, ltr_context, rtl_context); -- -- g_object_unref (ltr_context); -- g_object_unref (rtl_context); -- -- gtk_text_view_check_keymap_direction (text_view); -- - style = gtk_text_attributes_new (); - - gtk_widget_ensure_style (widget); -@@ -6088,6 +6065,26 @@ gtk_text_view_ensure_layout (GtkTextView - - gtk_text_attributes_unref (style); - -+ if (get_buffer (text_view)) -+ gtk_text_layout_set_buffer (text_view->layout, get_buffer (text_view)); -+ -+ if ((GTK_WIDGET_HAS_FOCUS (text_view) && text_view->cursor_visible)) -+ gtk_text_view_pend_cursor_blink (text_view); -+ else -+ gtk_text_layout_set_cursor_visible (text_view->layout, FALSE); -+ -+ ltr_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); -+ pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR); -+ rtl_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); -+ pango_context_set_base_dir (rtl_context, PANGO_DIRECTION_RTL); -+ -+ gtk_text_layout_set_contexts (text_view->layout, ltr_context, rtl_context); -+ -+ g_object_unref (ltr_context); -+ g_object_unref (rtl_context); -+ -+ gtk_text_view_check_keymap_direction (text_view); -+ - /* Set layout for all anchored children */ - - tmp_list = text_view->children;