drop obsolete patches
This commit is contained in:
parent
63b496997f
commit
8248c163d8
@ -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
|
@ -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
|
@ -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)
|
@ -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
|
@ -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;
|
||||
}
|
@ -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;
|
||||
+}
|
||||
+
|
@ -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);
|
||||
- }
|
||||
}
|
||||
|
||||
/*
|
@ -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))
|
||||
{
|
@ -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;
|
19
gtk2.spec
19
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 <mclasen@redhat.com> - 2.14.5-2
|
||||
* Mon Nov 24 2008 Matthias Clasen <mclasen@redhat.com> - 2.14.5-3
|
||||
- Update to 2.14.5
|
||||
- Drop obsolete patches
|
||||
- Update descriptions
|
||||
|
||||
* Sun Nov 23 2008 Matthias Clasen <mclasen@redhat.com> - 2.14.4-4
|
||||
- Reduce rpmlint warnings produced by the ia64 multilib hack
|
||||
|
@ -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
|
@ -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);
|
||||
|
@ -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");
|
@ -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");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user