Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock Please unblock package gtk+3.0. Version 3.4.2-6 fixes important bug #681974. The debdiff is attached. Cheers, unblock gtk+3.0/3.4.2-6 -- .''`. Sébastien Villemot : :' : Debian Developer `. `' http://www.dynare.org/sebastien `- GPG Key: 4096R/381A7594
diff -Nru gtk+3.0-3.4.2/debian/changelog gtk+3.0-3.4.2/debian/changelog --- gtk+3.0-3.4.2/debian/changelog 2013-01-09 11:00:45.000000000 +0100 +++ gtk+3.0-3.4.2/debian/changelog 2013-01-31 18:09:58.000000000 +0100 @@ -1,3 +1,12 @@ +gtk+3.0 (3.4.2-6) unstable; urgency=low + + * Team upload. + * debian/patches/076_check_wm_supports_hint.patch: This patch fixes the + size and placement of popup menus with some window managers, such as + Awesome and XMonad. Closes: #681974 + + -- Sébastien Villemot <sebastien@debian.org> Thu, 31 Jan 2013 18:09:43 +0100 + gtk+3.0 (3.4.2-5) unstable; urgency=low * debian/patches/075_gtkplug-fix-handling-of-key-events-for-layouts.patch: diff -Nru gtk+3.0-3.4.2/debian/patches/076_check_wm_supports_hint.patch gtk+3.0-3.4.2/debian/patches/076_check_wm_supports_hint.patch --- gtk+3.0-3.4.2/debian/patches/076_check_wm_supports_hint.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtk+3.0-3.4.2/debian/patches/076_check_wm_supports_hint.patch 2013-01-31 17:07:25.000000000 +0100 @@ -0,0 +1,75 @@ +Description: Fix placement and size of popup menus with some window managers + Before acting on any hint that is set by the window manager we must first + check that the hint is supported by the current window manager. Checking that + a property has a value is insufficient as it may have been set by a previous + window manager which did support the hint. +Origin: upstream, http://git.gnome.org/browse/gtk+/commit/?id=2fcbe3a9b44491059170b71f75e07b3b24138c4a +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=691515 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681974 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c +index a6d8ba6..b5767b5 100644 +--- a/gdk/x11/gdkscreen-x11.c ++++ b/gdk/x11/gdkscreen-x11.c +@@ -280,6 +280,10 @@ get_current_desktop (GdkScreen *screen) + unsigned char *data_return = NULL; + int workspace = 0; + ++ if (!gdk_x11_screen_supports_net_wm_hint (screen, ++ gdk_atom_intern_static_string ("_NET_CURRENT_DESKTOP"))) ++ return workspace; ++ + display = GDK_DISPLAY_XDISPLAY (gdk_screen_get_display (screen)); + win = XRootWindow (display, GDK_SCREEN_XNUMBER (screen)); + +@@ -330,6 +334,10 @@ get_work_area (GdkScreen *screen, + area->width = gdk_screen_get_width (screen); + area->height = gdk_screen_get_height (screen); + ++ if (!gdk_x11_screen_supports_net_wm_hint (screen, ++ gdk_atom_intern_static_string ("_NET_WORKAREA"))) ++ return; ++ + if (workarea == None) + return; + +diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c +index 150f58e..70a6ba0 100644 +--- a/gdk/x11/gdkwindow-x11.c ++++ b/gdk/x11/gdkwindow-x11.c +@@ -1738,7 +1738,9 @@ static void + move_to_current_desktop (GdkWindow *window) + { + if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window), +- gdk_atom_intern_static_string ("_NET_WM_DESKTOP"))) ++ gdk_atom_intern_static_string ("_NET_WM_DESKTOP")) && ++ gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window), ++ gdk_atom_intern_static_string ("_NET_CURRENT_DESKTOP"))) + { + Atom type; + gint format; +@@ -2717,7 +2719,9 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, + xwindow = GDK_WINDOW_XID (window); + + /* first try: use _NET_FRAME_EXTENTS */ +- if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow, ++ if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window), ++ gdk_atom_intern_static_string ("_NET_FRAME_EXTENTS")) && ++ XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow, + gdk_x11_get_xatom_by_name_for_display (display, + "_NET_FRAME_EXTENTS"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -2764,7 +2768,9 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, + /* use NETWM_VIRTUAL_ROOTS if available */ + root = GDK_WINDOW_XROOTWIN (window); + +- if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), root, ++ if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window), ++ gdk_atom_intern_static_string ("_NET_VIRTUAL_ROOTS")) && ++ XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), root, + gdk_x11_get_xatom_by_name_for_display (display, + "_NET_VIRTUAL_ROOTS"), + 0, G_MAXLONG, False, XA_WINDOW, &type_return, +-- +cgit v0.9.0.2 diff -Nru gtk+3.0-3.4.2/debian/patches/series gtk+3.0-3.4.2/debian/patches/series --- gtk+3.0-3.4.2/debian/patches/series 2013-01-09 10:04:37.000000000 +0100 +++ gtk+3.0-3.4.2/debian/patches/series 2013-01-31 12:30:06.000000000 +0100 @@ -13,3 +13,4 @@ 073_transparent_colors.patch 074_try-harder-to-discriminate-Shift-F10-and-F10.patch 075_gtkplug-fix-handling-of-key-events-for-layouts.patch +076_check_wm_supports_hint.patch
Attachment:
signature.asc
Description: Digital signature