Updating link to change in openSUSE:Factory/gtk2 revision 75.0

OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtk2?expand=0&rev=bde113e23b28c3b449097b5c8d1746a7
This commit is contained in:
OBS User buildservice-autocommit 2009-10-06 02:59:03 +00:00 committed by Git OBS Bridge
parent 1fdcfc7d68
commit 501a1b3e5a
3 changed files with 185 additions and 1 deletions

167
gtk2-git-c5d08611.patch Normal file
View File

@ -0,0 +1,167 @@
diff --git a/README b/README
index bc2f857..84d6329 100644
--- a/README
+++ b/README
@@ -44,6 +44,11 @@ Release notes for 2.18
GDK_NATIVE_WINDOWS makes GDK create a native X11 window for each
GDK window, which might make problematic applications work better.
+* GTK+ calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore
+ SIGPIPE signals, since these are almost never wanted in graphical
+ applications. If you do need to handle SIGPIPE for some reason, reset
+ the handler after gtk_init(), but notice that other libraries (e.g.
+ libdbus or gvfs) might do similar things.
Release notes for 2.16
======================
diff --git a/gdk/directfb/gdkwindow-directfb.c b/gdk/directfb/gdkwindow-directfb.c
index c0ff8e1..30ec834 100644
--- a/gdk/directfb/gdkwindow-directfb.c
+++ b/gdk/directfb/gdkwindow-directfb.c
@@ -2077,7 +2077,8 @@ GdkWindow *
_gdk_windowing_window_at_pointer (GdkDisplay *display,
gint *win_x,
gint *win_y,
- GdkModifierType *mask)
+ GdkModifierType *mask,
+ gboolean get_toplevel)
{
GdkWindow *retval;
gint wx, wy;
@@ -2137,7 +2138,8 @@ _gdk_windowing_get_pointer (GdkDisplay *display,
gdk_directfb_window_get_pointer (_gdk_windowing_window_at_pointer (display,
NULL,
NULL,
- NULL),
+ NULL,
+ FALSE),
x, y, mask);
}
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 7f3572f..2bb5551 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2624,6 +2624,8 @@ gdk_window_end_implicit_paint (GdkWindow *window)
/* Reset clip region of the cached GdkGC */
gdk_gc_set_clip_region (tmp_gc, NULL);
}
+ else
+ gdk_region_destroy (paint->region);
g_object_unref (paint->pixmap);
g_free (paint);
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index f98290b..a8dd83b 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -1726,7 +1726,7 @@ gdk_window_x11_restack_toplevel (GdkWindow *window,
changes.stack_mode = above ? Above : Below;
XReconfigureWMWindow (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XID (window),
- GDK_WINDOW_SCREEN (window),
+ gdk_screen_get_number (GDK_WINDOW_SCREEN (window)),
CWStackMode | CWSibling, &changes);
}
@@ -3252,12 +3252,15 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display,
while (xwindow)
{
xwindow_last = xwindow;
- if (get_toplevel &&
- (window = gdk_window_lookup_for_display (display, xwindow)) != NULL &&
- GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
- break;
XQueryPointer (xdisplay, xwindow,
&root, &xwindow, &rootx, &rooty, &winx, &winy, &xmask);
+ if (get_toplevel &&
+ (window = gdk_window_lookup_for_display (display, xwindow_last)) != NULL &&
+ GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
+ {
+ xwindow = xwindow_last;
+ break;
+ }
}
}
else
@@ -3315,16 +3318,16 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display,
while (xwindow)
{
xwindow_last = xwindow;
- if (get_toplevel &&
- (window = gdk_window_lookup_for_display (display, xwindow)) != NULL &&
- GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
- break;
gdk_error_trap_push ();
XQueryPointer (xdisplay, xwindow,
&root, &xwindow, &rootx, &rooty, &winx, &winy, &xmask);
gdk_flush ();
if (gdk_error_trap_pop ())
break;
+ if (get_toplevel &&
+ (window = gdk_window_lookup_for_display (display, xwindow_last)) != NULL &&
+ GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
+ break;
}
}
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index e47e1be..2bbc96d 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -686,6 +686,8 @@ do_post_parse_initialization (int *argc,
gettext_initialization ();
+ signal (SIGPIPE, SIG_IGN);
+
if (g_fatal_warnings)
{
GLogLevelFlags fatal_mask;
@@ -985,6 +987,15 @@ gtk_init_check (int *argc,
* the GUI for some reason. If you want your program to fall back to a
* textual interface you want to call gtk_init_check() instead.
* </para></note>
+ *
+ * <note><para>
+ * Since 2.18, GTK+ calls <literal>signal (SIGPIPE, SIG_IGN)</literal>
+ * during initialization, to ignore SIGPIPE signals, since these are
+ * almost never wanted in graphical applications. If you do need to
+ * handle SIGPIPE for some reason, reset the handler after gtk_init(),
+ * but notice that other libraries (e.g. libdbus or gvfs) might do
+ * similar things.
+ * </para></note>
**/
void
gtk_init (int *argc, char ***argv)
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index c0815a9..36c5a65 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -5648,6 +5648,13 @@ gtk_window_compute_configure_request_size (GtkWindow *window,
if (info->resize_height > 0)
*height = info->resize_height;
}
+
+ /* Don't ever request zero width or height, its not supported by
+ gdk. The size allocation code will round it to 1 anyway but if
+ we do it then the value returned from this function will is
+ not comparable to the size allocation read from the GtkWindow. */
+ *width = MAX (*width, 1);
+ *height = MAX (*height, 1);
}
static GtkWindowPosition
diff --git a/modules/printbackends/lpr/gtkprintbackendlpr.c b/modules/printbackends/lpr/gtkprintbackendlpr.c
index eeaaa99..72d9c33 100644
--- a/modules/printbackends/lpr/gtkprintbackendlpr.c
+++ b/modules/printbackends/lpr/gtkprintbackendlpr.c
@@ -278,8 +278,6 @@ lpr_write (GIOChannel *source,
{
gsize bytes_written;
- signal (SIGPIPE, SIG_IGN);
-
g_io_channel_write_chars (ps->in,
buf,
bytes_read,

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Mon Oct 5 23:15:24 CEST 2009 - vuntz@opensuse.org
- Add gtk2-git-c5d08611.patch: this groups the various code changes
in GTK+ git since 2.18.1. Those are all important fixes:
+ Move SIGPIPE suppression to gtk_init and document it, instead
of having it in the lpr backend
+ Call XReconfigureWMWindow with proper screen (code error with
compiler warning)
+ Fix DirectFB backend compilation
+ Plug a memory leak
+ bgo#597386: Cannot click buttons more than once
+ bgo#588059: Fix notification icon not always visible
-------------------------------------------------------------------
Sat Oct 3 01:28:50 CEST 2009 - vuntz@opensuse.org

View File

@ -39,7 +39,7 @@ Obsoletes: gtk2-64bit
#
PreReq: /usr/bin/touch /bin/rm /bin/rmdir
Version: 2.18.1
Release: 1
Release: 2
# FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer)
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
@ -60,6 +60,8 @@ Patch23: bugzilla-131498-allow-xim-for-all-languages.patch
Patch24: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff
# PATCH-FIX-UPSTREAM gtk2-build-fix.patch bgo597026 vuntz@novell.com -- Add missing include
Patch25: gtk2-build-fix.patch
# PATCH-FIX-UPSTREAM gtk2-git-c5d08611.patch vuntz@opensuse.org -- Various fixes taken from git (this is nearly the diff between 2.18.1 and what will be 2.18.2)
Patch26: gtk2-git-c5d08611.patch
# Patches taken from upstream or slated to go upstream. We can expect these to become obsolete
# in future releases.
# Please don't delete this comment even if this section is empty -- "# empty" should
@ -164,6 +166,7 @@ cp -a %{S:2} .
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch53
# gnome-patch-translation-update