diff --git a/bad-filechooser.patch b/bad-filechooser.patch deleted file mode 100644 index a431d16..0000000 --- a/bad-filechooser.patch +++ /dev/null @@ -1,41 +0,0 @@ -Index: gtk/gtkfilechooserdefault.c -=================================================================== ---- gtk/gtkfilechooserdefault.c (revision 21491) -+++ gtk/gtkfilechooserdefault.c (working copy) -@@ -456,6 +456,7 @@ - GtkTreeIter *child_iter, - GtkTreeIter *iter); - static void set_file_system_backend (GtkFileChooserDefault *impl); -+static void unset_file_system_backend (GtkFileChooserDefault *impl); - - - -@@ -923,6 +924,8 @@ - GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object); - GSList *l; - -+ unset_file_system_backend (impl); -+ - if (impl->shortcuts_pane_filter_model) - g_object_unref (impl->shortcuts_pane_filter_model); - -@@ -5373,6 +5376,19 @@ - profile_end ("end", NULL); - } - -+static void -+unset_file_system_backend (GtkFileChooserDefault *impl) -+{ -+ g_signal_disconnect_by_func (impl->file_system, "volumes-changed", -+ G_CALLBACK (volumes_bookmarks_changed_cb), impl); -+ g_signal_disconnect_by_func (impl->file_system, "bookmarks-changed", -+ G_CALLBACK (volumes_bookmarks_changed_cb), impl); -+ -+ g_object_unref (impl->file_system); -+ -+ impl->file_system = NULL; -+} -+ - /* This function is basically a do_all function. - * - * It sets the visibility on all the widgets based on the current state, and diff --git a/color-loop.patch b/color-loop.patch deleted file mode 100644 index 69b4a84..0000000 --- a/color-loop.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff -up gtk+-2.13.7/gtk/gtksettings.c.color-loop gtk+-2.13.7/gtk/gtksettings.c ---- gtk+-2.13.7/gtk/gtksettings.c.color-loop 2008-08-25 09:16:09.000000000 -0400 -+++ gtk+-2.13.7/gtk/gtksettings.c 2008-08-25 09:16:21.000000000 -0400 -@@ -1892,14 +1892,13 @@ _gtk_settings_handle_event (GdkEventSett - if (property_id == PROP_COLOR_SCHEME) - { - GValue value = { 0, }; -- -+ - g_value_init (&value, G_TYPE_STRING); - if (!gdk_screen_get_setting (settings->screen, pspec->name, &value)) - g_value_set_static_string (&value, ""); - merge_color_scheme (settings, &value, GTK_SETTINGS_SOURCE_XSETTING); - g_value_unset (&value); - } -- - g_object_notify (G_OBJECT (settings), pspec->name); - } - } -@@ -2258,6 +2257,7 @@ update_color_hash (ColorSchemeData *da - { - gboolean changed = FALSE; - gint i; -+ GHashTable *old_hash; - - if ((str == NULL || *str == '\0') && - (data->lastentry[source] == NULL || data->lastentry[source][0] == '\0')) -@@ -2291,8 +2291,7 @@ update_color_hash (ColorSchemeData *da - return FALSE; - - /* Rebuild the merged hash table. */ -- if (data->color_hash) -- g_hash_table_unref (data->color_hash); -+ old_hash = data->color_hash; - data->color_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, - (GDestroyNotify) gdk_color_free); - for (i = 0; i <= GTK_SETTINGS_SOURCE_APPLICATION; i++) -@@ -2302,7 +2301,35 @@ update_color_hash (ColorSchemeData *da - data->color_hash); - } - -- return TRUE; -+ if (old_hash) -+ { -+ /* now check if the merged hash has changed */ -+ changed = FALSE; -+ if (g_hash_table_size (old_hash) != g_hash_table_size (data->color_hash)) -+ changed = TRUE; -+ else -+ { -+ GHashTableIter iter; -+ gpointer key, value, new_value; -+ -+ g_hash_table_iter_init (&iter, old_hash); -+ while (g_hash_table_iter_next (&iter, &key, &value)) -+ { -+ new_value = g_hash_table_lookup (data->color_hash, key); -+ if (!new_value || !gdk_color_equal (value, new_value)) -+ { -+ changed = TRUE; -+ break; -+ } -+ } -+ } -+ -+ g_hash_table_unref (old_hash); -+ } -+ else -+ changed = TRUE; -+ -+ return changed; - } - - static void diff --git a/fix-file-chooser-button.patch b/fix-file-chooser-button.patch deleted file mode 100644 index 0fab5ea..0000000 --- a/fix-file-chooser-button.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up gtk+-2.14.3/gtk/gtkfilechooserdefault.c.fix-file-chooser-button gtk+-2.14.3/gtk/gtkfilechooserdefault.c ---- gtk+-2.14.3/gtk/gtkfilechooserdefault.c.fix-file-chooser-button 2008-10-08 01:57:49.000000000 -0400 -+++ gtk+-2.14.3/gtk/gtkfilechooserdefault.c 2008-10-08 01:58:21.000000000 -0400 -@@ -6906,10 +6906,10 @@ update_current_folder_get_info_cb (GCanc - g_object_unref (impl->current_folder); - - impl->current_folder = g_object_ref (data->file); -- -- impl->reload_state = RELOAD_HAS_FOLDER; - } - -+ impl->reload_state = RELOAD_HAS_FOLDER; -+ - /* Update the widgets that may trigger a folder change themselves. */ - - if (!impl->changing_folder) diff --git a/flash-swarm.patch b/flash-swarm.patch deleted file mode 100644 index 659dd22..0000000 --- a/flash-swarm.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up gtk+-2.13.7/gdk/x11/gdkwindow-x11.c.flash-swarm gtk+-2.13.7/gdk/x11/gdkwindow-x11.c ---- gtk+-2.13.7/gdk/x11/gdkwindow-x11.c.flash-swarm 2008-08-25 18:14:28.000000000 -0400 -+++ gtk+-2.13.7/gdk/x11/gdkwindow-x11.c 2008-08-25 18:14:57.000000000 -0400 -@@ -1830,7 +1830,7 @@ gdk_window_x11_reparent (GdkWindow *wind - parent_private->children = g_list_prepend (parent_private->children, window); - _gdk_window_init_position (GDK_WINDOW (window_private)); - -- return TRUE; -+ return FALSE; - } - - static void diff --git a/gail-leaks.patch b/gail-leaks.patch deleted file mode 100644 index a368f76..0000000 --- a/gail-leaks.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -up gtk+-2.14.2/modules/other/gail/gailcell.c.gail-leaks gtk+-2.14.2/modules/other/gail/gailcell.c ---- gtk+-2.14.2/modules/other/gail/gailcell.c.gail-leaks 2008-09-19 00:55:50.000000000 -0400 -+++ gtk+-2.14.2/modules/other/gail/gailcell.c 2008-09-19 00:56:24.000000000 -0400 -@@ -118,6 +118,7 @@ gail_cell_destroyed (GtkWidget *wi - * GtkWidget. We set the pointer location to NULL; - */ - cell->widget = NULL; -+ g_signal_handlers_disconnect_by_func (widget, gail_cell_destroyed, cell); - } - - static void -diff -up gtk+-2.14.2/modules/other/gail/gailtreeview.c.gail-leaks gtk+-2.14.2/modules/other/gail/gailtreeview.c ---- gtk+-2.14.2/modules/other/gail/gailtreeview.c.gail-leaks 2008-09-19 00:55:02.000000000 -0400 -+++ gtk+-2.14.2/modules/other/gail/gailtreeview.c 2008-09-19 00:55:39.000000000 -0400 -@@ -3667,12 +3667,12 @@ static gboolean - garbage_collect_cell_data (gpointer data) - { - GailTreeView *tree_view; -- GList *temp_list; -+ GList *temp_list, *list; - GailTreeViewCellInfo *cell_info; - - g_assert (GAIL_IS_TREE_VIEW (data)); - tree_view = (GailTreeView *)data; -- temp_list = g_list_copy (tree_view->cell_data); -+ list = g_list_copy (tree_view->cell_data); - - tree_view->garbage_collection_pending = FALSE; - if (tree_view->idle_garbage_collect_id != 0) -@@ -3682,6 +3682,7 @@ garbage_collect_cell_data (gpointer data - } - - /* Must loop through them all */ -+ temp_list = list; - while (temp_list != NULL) - { - cell_info = temp_list->data; -@@ -3696,7 +3697,7 @@ garbage_collect_cell_data (gpointer data - } - temp_list = temp_list->next; - } -- g_list_free (temp_list); -+ g_list_free (list); - - return tree_view->garbage_collection_pending; - } diff --git a/gail-make-resident.patch b/gail-make-resident.patch deleted file mode 100644 index 51af2ce..0000000 --- a/gail-make-resident.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up gtk+-2.14.3/modules/other/gail/gail.c.gail-make-resident gtk+-2.14.3/modules/other/gail/gail.c ---- gtk+-2.14.3/modules/other/gail/gail.c.gail-make-resident 2008-09-19 00:44:18.000000000 -0400 -+++ gtk+-2.14.3/modules/other/gail/gail.c 2008-10-03 22:59:58.000000000 -0400 -@@ -980,3 +980,12 @@ gtk_module_init (gint *argc, char** argv - - return 0; - } -+ -+const char * -+g_module_check_init (GModule *module) -+{ -+ g_module_make_resident (module); -+ -+ return NULL; -+} -+ diff --git a/greeter-crash.patch b/greeter-crash.patch deleted file mode 100644 index 89e3dc0..0000000 --- a/greeter-crash.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up gtk+-2.14.0/modules/other/gail/gailtreeview.c.greeter-crash gtk+-2.14.0/modules/other/gail/gailtreeview.c ---- gtk+-2.14.0/modules/other/gail/gailtreeview.c.greeter-crash 2008-09-05 00:24:19.000000000 -0400 -+++ gtk+-2.14.0/modules/other/gail/gailtreeview.c 2008-09-05 00:24:27.000000000 -0400 -@@ -2959,17 +2959,6 @@ model_row_deleted (GtkTreeModel *tree_mo - g_signal_emit_by_name (atk_obj, "row_deleted", row, - gailview->n_children_deleted + 1); - gailview->n_children_deleted = 0; -- -- /* Generate children-changed signals */ -- n_cols = get_n_actual_columns (tree_view); -- for (col = 0; col < n_cols; col++) -- { -- /* -- * Pass NULL as the child object, 4th argument. -- */ -- g_signal_emit_by_name (atk_obj, "children_changed::remove", -- ((row * n_cols) + col), NULL, NULL); -- } - } - - /* diff --git a/gtk+-2.14.1-no-randr.patch b/gtk+-2.14.1-no-randr.patch deleted file mode 100644 index 3b4db37..0000000 --- a/gtk+-2.14.1-no-randr.patch +++ /dev/null @@ -1,105 +0,0 @@ -Index: gdk/x11/gdkscreen-x11.c -=================================================================== ---- gdk/x11/gdkscreen-x11.c (revision 21333) -+++ gdk/x11/gdkscreen-x11.c (working copy) -@@ -664,81 +664,6 @@ - } - - static gboolean --init_randr12 (GdkScreen *screen) --{ --#ifdef HAVE_RANDR -- GdkDisplay *display = gdk_screen_get_display (screen); -- GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); -- GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); -- Display *dpy = GDK_SCREEN_XDISPLAY (screen); -- XRRScreenResources *resources; -- int i; -- GArray *monitors; -- gboolean randr12_compat = FALSE; -- -- if (!display_x11->have_randr12) -- return FALSE; -- -- resources = XRRGetScreenResources (screen_x11->xdisplay, -- screen_x11->xroot_window); -- if (!resources) -- return FALSE; -- -- monitors = g_array_sized_new (FALSE, TRUE, sizeof (GdkX11Monitor), -- resources->noutput); -- -- for (i = 0; i < resources->noutput; ++i) -- { -- XRROutputInfo *output = -- XRRGetOutputInfo (dpy, resources, resources->outputs[i]); -- -- /* Non RandR1.2 X driver have output name "default" */ -- randr12_compat |= !g_strcmp0(output->name, "default"); -- -- if (output->crtc) -- { -- GdkX11Monitor monitor; -- XRRCrtcInfo *crtc = XRRGetCrtcInfo (dpy, resources, output->crtc); -- -- monitor.geometry.x = crtc->x; -- monitor.geometry.y = crtc->y; -- monitor.geometry.width = crtc->width; -- monitor.geometry.height = crtc->height; -- -- /* FIXME: fill this out properly - need EDID parser */ -- monitor.output = resources->outputs[i]; -- monitor.width_mm = -1; -- monitor.height_mm = -1; -- monitor.output_name = NULL; -- monitor.manufacturer = NULL; -- -- g_array_append_val (monitors, monitor); -- -- XRRFreeCrtcInfo (crtc); -- } -- -- XRRFreeOutputInfo (output); -- } -- -- XRRFreeScreenResources (resources); -- -- /* non RandR 1.2 X driver doesn't return any usable multihead data */ -- if (randr12_compat) -- { -- g_array_free (monitors, TRUE); -- return FALSE; -- } -- -- screen_x11->n_monitors = monitors->len; -- screen_x11->monitors = (GdkX11Monitor *)g_array_free (monitors, FALSE); -- -- return TRUE; --#endif -- -- return FALSE; --} -- --static gboolean - init_solaris_xinerama (GdkScreen *screen) - { - #ifdef HAVE_SOLARIS_XINERAMA -@@ -861,14 +786,14 @@ - * 3. Solaris Xinerama - * 4. XFree86/Xorg Xinerama - * -- * We use them in that order. -+ * However, there are performance issues with calling -+ * XRRGetScreenResources() every time an application starts, -+ * so in the RandR case we simply rely on the information being -+ * exported through Xinerama as well. - */ - if (init_fake_xinerama (screen)) - return; - -- if (init_randr12 (screen)) -- return; -- - if (XQueryExtension (GDK_SCREEN_XDISPLAY (screen), "XINERAMA", - &opcode, &firstevent, &firsterror)) - { diff --git a/gtk+-2.14.4-fallback-file-icon.patch b/gtk+-2.14.4-fallback-file-icon.patch deleted file mode 100644 index fad2615..0000000 --- a/gtk+-2.14.4-fallback-file-icon.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: gtk/gtkfilesystem.c -=================================================================== ---- gtk/gtkfilesystem.c (revision 21702) -+++ gtk/gtkfilesystem.c (revision 21703) -@@ -1738,6 +1738,14 @@ _gtk_file_info_render_icon (GFileInfo *i - - if (icon) - pixbuf = get_pixbuf_from_gicon (icon, widget, icon_size, NULL); -+ -+ if (!pixbuf) -+ { -+ /* Use general fallback for all files without icon */ -+ icon = g_themed_icon_new ("text-x-generic"); -+ pixbuf = get_pixbuf_from_gicon (icon, widget, icon_size, NULL); -+ g_object_unref (icon); -+ } - } - - return pixbuf; diff --git a/gtk2.spec b/gtk2.spec index e2f49aa..77223dc 100644 --- a/gtk2.spec +++ b/gtk2.spec @@ -16,7 +16,7 @@ Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X Name: gtk2 Version: %{base_version} -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Group: System Environment/Libraries Source: http://download.gnome.org/sources/gtk+/2.14/gtk+-%{version}.tar.bz2 @@ -30,10 +30,6 @@ Patch1: gtk+-2.11.1-set-invisible-char-to-bullet.patch # a workaround for some brokenness in the flash plugin # see http://bugzilla.gnome.org/show_bug.cgi?id=463773 Patch2: workaround.patch -# from upstream -Patch3: randr-fix.patch -# from upstream -Patch4: gtk+-2.14.4-fallback-file-icon.patch BuildRequires: atk-devel >= %{atk_version} BuildRequires: pango-devel >= %{pango_version} @@ -90,7 +86,7 @@ projects ranging from small one-off tools to complete application suites. %package devel -Summary: Development tools for GTK+ applications +Summary: Development files for GTK+ Group: Development/Libraries Requires: gtk2 = %{version}-%{release} Requires: pango-devel >= %{pango_version} @@ -111,8 +107,9 @@ Provides: gail-devel = %{version}-%{release} Obsoletes: gail-devel < 2.13.0-1 %description devel -The gtk+-devel package contains the header files and developer -docs for the GTK+ widget toolkit. +This package contains the libraries, header files and developer +documentation that are needed for writing applications with the +GTK+ widget toolkit. %prep %setup -q -n gtk+-%{version} @@ -120,8 +117,6 @@ docs for the GTK+ widget toolkit. %patch0 -p1 -b .lib64 %patch1 -p1 -b .set-invisible-char-to-bullet %patch2 -p1 -b .workaround -%patch3 -p1 -b .randr-fix -%patch4 -p0 -b .fallback-file-icon %build libtoolize --force --copy @@ -301,8 +296,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/gtk-2.0 %changelog -* Mon Nov 24 2008 Matthias Clasen - 2.14.5-2 +* Mon Nov 24 2008 Matthias Clasen - 2.14.5-3 - Update to 2.14.5 +- Drop obsolete patches +- Update descriptions * Sun Nov 23 2008 Matthias Clasen - 2.14.4-4 - Reduce rpmlint warnings produced by the ia64 multilib hack diff --git a/info-leak.patch b/info-leak.patch deleted file mode 100644 index b94106a..0000000 --- a/info-leak.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c.info-leak gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c ---- gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c.info-leak 2008-09-18 14:34:02.000000000 -0400 -+++ gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c 2008-09-18 14:34:46.000000000 -0400 -@@ -688,9 +688,10 @@ gdk_pixbuf_load_module_unlocked (GdkPixb - if (fill_vtable) { - image_module->module = (void *) 1; - (* fill_vtable) (image_module); -- image_module->info = g_new0 (GdkPixbufFormat, 1); -- (* fill_info) (image_module->info); -- -+ if (image_module->info == NULL) { -+ image_module->info = g_new0 (GdkPixbufFormat, 1); -+ (* fill_info) (image_module->info); -+ } - return TRUE; - } - else diff --git a/init-deadlock.patch b/init-deadlock.patch deleted file mode 100644 index aaf2f51..0000000 --- a/init-deadlock.patch +++ /dev/null @@ -1,213 +0,0 @@ -Index: gdk-pixbuf/gdk-pixbuf-loader.c -=================================================================== ---- gdk-pixbuf/gdk-pixbuf-loader.c (revision 21294) -+++ gdk-pixbuf/gdk-pixbuf-loader.c (working copy) -@@ -356,9 +356,8 @@ - if (priv->image_module == NULL) - return 0; - -- if (priv->image_module->module == NULL) -- if (!_gdk_pixbuf_load_module (priv->image_module, error)) -- return 0; -+ if (!_gdk_pixbuf_load_module (priv->image_module, error)) -+ return 0; - - if (priv->image_module->module == NULL) - return 0; -Index: gdk-pixbuf/gdk-pixbuf-io.c -=================================================================== ---- gdk-pixbuf/gdk-pixbuf-io.c (revision 21294) -+++ gdk-pixbuf/gdk-pixbuf-io.c (working copy) -@@ -292,6 +292,11 @@ - - #endif /* USE_GMODULE */ - -+ -+static gboolean -+gdk_pixbuf_load_module_unlocked (GdkPixbufModule *image_module, -+ GError **error); -+ - static void - gdk_pixbuf_io_init (void) - { -@@ -318,7 +323,7 @@ - #define load_one_builtin_module(format) \ - builtin_module = g_new0 (GdkPixbufModule, 1); \ - builtin_module->module_name = #format; \ -- if (_gdk_pixbuf_load_module (builtin_module, NULL)) \ -+ if (gdk_pixbuf_load_module_unlocked (builtin_module, NULL)) \ - file_formats = g_slist_prepend (file_formats, builtin_module);\ - else \ - g_free (builtin_module) -@@ -541,51 +546,7 @@ - #endif - } - --#ifdef USE_GMODULE - --/* actually load the image handler - gdk_pixbuf_get_module only get a */ --/* reference to the module to load, it doesn't actually load it */ --/* perhaps these actions should be combined in one function */ --static gboolean --_gdk_pixbuf_load_module_unlocked (GdkPixbufModule *image_module, -- GError **error) --{ -- char *path; -- GModule *module; -- gpointer sym; -- -- g_return_val_if_fail (image_module->module == NULL, FALSE); -- -- path = image_module->module_path; -- module = g_module_open (path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); -- -- if (!module) { -- g_set_error (error, -- GDK_PIXBUF_ERROR, -- GDK_PIXBUF_ERROR_FAILED, -- _("Unable to load image-loading module: %s: %s"), -- path, g_module_error ()); -- return FALSE; -- } -- -- image_module->module = module; -- -- if (g_module_symbol (module, "fill_vtable", &sym)) { -- GdkPixbufModuleFillVtableFunc func = (GdkPixbufModuleFillVtableFunc) sym; -- (* func) (image_module); -- return TRUE; -- } else { -- g_set_error (error, -- GDK_PIXBUF_ERROR, -- GDK_PIXBUF_ERROR_FAILED, -- _("Image-loading module %s does not export the proper interface; perhaps it's from a different GTK version?"), -- path); -- return FALSE; -- } --} -- --#endif /* !USE_GMODULE */ -- - #define module(type) \ - extern void _gdk_pixbuf__##type##_fill_info (GdkPixbufFormat *info); \ - extern void _gdk_pixbuf__##type##_fill_vtable (GdkPixbufModule *module) -@@ -617,29 +578,19 @@ - - #undef module - --gboolean --_gdk_pixbuf_load_module (GdkPixbufModule *image_module, -- GError **error) -+/* actually load the image handler - gdk_pixbuf_get_module only get a */ -+/* reference to the module to load, it doesn't actually load it */ -+/* perhaps these actions should be combined in one function */ -+static gboolean -+gdk_pixbuf_load_module_unlocked (GdkPixbufModule *image_module, -+ GError **error) - { -- gboolean ret; -- gboolean locked = FALSE; - GdkPixbufModuleFillInfoFunc fill_info = NULL; - GdkPixbufModuleFillVtableFunc fill_vtable = NULL; -+ -+ if (image_module->module != NULL) -+ return TRUE; - -- /* be extra careful, maybe the module initializes -- * the thread system -- */ -- if (g_threads_got_initialized) { -- G_LOCK (init_lock); -- locked = TRUE; -- } -- -- if (image_module->module != NULL) { -- if (locked) -- G_UNLOCK (init_lock); -- return TRUE; -- } -- - #define try_module(format,id) \ - if (fill_info == NULL && \ - strcmp (image_module->module_name, #format) == 0) { \ -@@ -715,22 +666,70 @@ - image_module->info = g_new0 (GdkPixbufFormat, 1); - (* fill_info) (image_module->info); - -- ret = TRUE; -+ return TRUE; - } -- else { -+ else - #ifdef USE_GMODULE -- ret = _gdk_pixbuf_load_module_unlocked (image_module, error); -+ { -+ char *path; -+ GModule *module; -+ gpointer sym; -+ -+ path = image_module->module_path; -+ module = g_module_open (path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); -+ -+ if (!module) { -+ g_set_error (error, -+ GDK_PIXBUF_ERROR, -+ GDK_PIXBUF_ERROR_FAILED, -+ _("Unable to load image-loading module: %s: %s"), -+ path, g_module_error ()); -+ return FALSE; -+ } -+ -+ image_module->module = module; -+ -+ if (g_module_symbol (module, "fill_vtable", &sym)) { -+ fill_vtable = (GdkPixbufModuleFillVtableFunc) sym; -+ (* fill_vtable) (image_module); -+ return TRUE; -+ } else { -+ g_set_error (error, -+ GDK_PIXBUF_ERROR, -+ GDK_PIXBUF_ERROR_FAILED, -+ _("Image-loading module %s does not export the proper interface; perhaps it's from a different GTK version?"), -+ path); -+ return FALSE; -+ } -+ } - #else -- g_set_error (error, -- GDK_PIXBUF_ERROR, -- GDK_PIXBUF_ERROR_UNKNOWN_TYPE, -- _("Image type '%s' is not supported", -- image_module->module_name); -+ g_set_error (error, -+ GDK_PIXBUF_ERROR, -+ GDK_PIXBUF_ERROR_UNKNOWN_TYPE, -+ _("Image type '%s' is not supported", -+ image_module->module_name); -+ return FALSE; -+#endif /* !USE_GMODULE */ -+} - -- ret = FALSE; --#endif -+ -+gboolean -+_gdk_pixbuf_load_module (GdkPixbufModule *image_module, -+ GError **error) -+{ -+ gboolean ret; -+ gboolean locked = FALSE; -+ -+ /* be extra careful, maybe the module initializes -+ * the thread system -+ */ -+ if (g_threads_got_initialized) { -+ G_LOCK (init_lock); -+ locked = TRUE; - } - -+ ret = gdk_pixbuf_load_module_unlocked (image_module, error); -+ - if (locked) - G_UNLOCK (init_lock); - diff --git a/randr-fix.patch b/randr-fix.patch deleted file mode 100644 index 279f918..0000000 --- a/randr-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up gtk+-2.14.4/gdk/x11/gdkscreen-x11.c.randr-fix gtk+-2.14.4/gdk/x11/gdkscreen-x11.c ---- gtk+-2.14.4/gdk/x11/gdkscreen-x11.c.randr-fix 2008-10-22 00:57:46.000000000 -0400 -+++ gtk+-2.14.4/gdk/x11/gdkscreen-x11.c 2008-10-22 00:59:18.000000000 -0400 -@@ -894,6 +894,11 @@ void - _gdk_x11_screen_size_changed (GdkScreen *screen, - XEvent *event) - { -+ gint width, height; -+ -+ width = gdk_screen_get_width (screen); -+ height = gdk_screen_get_height (screen); -+ - #ifdef HAVE_RANDR - if (!XRRUpdateConfiguration (event)) - return; -@@ -909,6 +914,10 @@ _gdk_x11_screen_size_changed (GdkScreen - else - return; - #endif -+ -+ if (gdk_screen_get_width (screen) == width && -+ gdk_screen_get_height (screen) == height) -+ return; - - _gdk_x11_screen_process_monitors_change (screen); - g_signal_emit_by_name (screen, "size_changed"); diff --git a/screen-size-change.patch b/screen-size-change.patch deleted file mode 100644 index d4f8bbe..0000000 --- a/screen-size-change.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up gtk+-2.13.7/gdk/x11/gdkscreen-x11.c.screen-size-change gtk+-2.13.7/gdk/x11/gdkscreen-x11.c ---- gtk+-2.13.7/gdk/x11/gdkscreen-x11.c.screen-size-change 2008-08-26 22:19:26.000000000 -0400 -+++ gtk+-2.13.7/gdk/x11/gdkscreen-x11.c 2008-08-26 22:19:42.000000000 -0400 -@@ -985,7 +985,7 @@ _gdk_x11_screen_size_changed (GdkScreen - return; - #endif - -- init_multihead (screen); -+ _gdk_x11_screen_process_monitors_change (screen); - g_signal_emit_by_name (screen, "size_changed"); - } -