Your message dated Sat, 19 Jan 2013 12:55:18 +0100 with message-id <20130119115518.GW5676@radis.cristau.org> and subject line Re: Bug#697749: unblock: gtk+3.0/3.4.2-5 has caused the Debian Bug report #697749, regarding unblock: gtk+3.0/3.4.2-5 to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 697749: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697749 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: gtk+3.0/3.4.2-5
- From: Sébastien Villemot <sebastien@debian.org>
- Date: Wed, 9 Jan 2013 11:46:54 +0100
- Message-id: <20130109104621.GA2726@villemot.name>
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-5 fixes important bug #692235. The debdiff is attached. unblock gtk+3.0/3.4.2-5 Cheers, -- .''`. Sébastien Villemot : :' : Debian Developer `. `' http://www.dynare.org/sebastien `- GPG Key: 4096R/381A7594diff -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 2012-09-21 18:30:43.000000000 +0200 +++ gtk+3.0-3.4.2/debian/changelog 2013-01-09 11:00:45.000000000 +0100 @@ -1,3 +1,17 @@ +gtk+3.0 (3.4.2-5) unstable; urgency=low + + * debian/patches/075_gtkplug-fix-handling-of-key-events-for-layouts.patch: + This patch fixes handling of key events for different layouts in + GtkPlug. In particular, it fixes the keyboard layout switching from + gnome-screensaver when the screen is locked. Closes: #692235 + * debian/libgtk-3-0.symbols: add gdk_x11_keymap_get_group_for_state and + gdk_x11_keymap_key_is_modifier which are introduced by the above patch + (actually backported from the 3.5.2 API). + * debian/rules: call dh_makeshlibs with -V 'libgtk-3-0 (>= 3.4.2-5~)', + since we introduced new public symbols in this Debian revision. + + -- Sébastien Villemot <sebastien@debian.org> Wed, 09 Jan 2013 11:00:22 +0100 + gtk+3.0 (3.4.2-4) unstable; urgency=low * debian/patches/074_try-harder-to-discriminate-Shift-F10-and-F10.patch: diff -Nru gtk+3.0-3.4.2/debian/libgtk-3-0.symbols gtk+3.0-3.4.2/debian/libgtk-3-0.symbols --- gtk+3.0-3.4.2/debian/libgtk-3-0.symbols 2012-04-19 02:45:51.000000000 +0200 +++ gtk+3.0-3.4.2/debian/libgtk-3-0.symbols 2013-01-09 10:06:40.000000000 +0100 @@ -542,7 +542,9 @@ gdk_x11_get_xatom_name@Base 3.0.0 gdk_x11_get_xatom_name_for_display@Base 3.0.0 gdk_x11_grab_server@Base 3.0.0 + gdk_x11_keymap_get_group_for_state@Base 3.4.2-5~ gdk_x11_keymap_get_type@Base 3.0.0 + gdk_x11_keymap_key_is_modifier@Base 3.4.2-5~ gdk_x11_lookup_xdisplay@Base 3.0.0 gdk_x11_register_standard_event_type@Base 3.0.0 gdk_x11_screen_get_monitor_output@Base 3.0.0 diff -Nru gtk+3.0-3.4.2/debian/patches/075_gtkplug-fix-handling-of-key-events-for-layouts.patch gtk+3.0-3.4.2/debian/patches/075_gtkplug-fix-handling-of-key-events-for-layouts.patch --- gtk+3.0-3.4.2/debian/patches/075_gtkplug-fix-handling-of-key-events-for-layouts.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtk+3.0-3.4.2/debian/patches/075_gtkplug-fix-handling-of-key-events-for-layouts.patch 2013-01-09 10:04:50.000000000 +0100 @@ -0,0 +1,166 @@ +Description: GtkPlug: fix handling of key events for different layouts + GtkPlug directly handles X KeyPress/Release events, instead of using + translation in GDK (which expects XI2 events for XI2). When this + was done, the handling of the group was stubbed out and never replaced. + . + Export gdk_keymap_x11_group_for_state() and gdk_keymap_x11_is_modifier() + so we can fill out the fields correctly. +Origin: upstream, http://git.gnome.org/browse/gtk+/commit/?id=0aa989ae76d0d080eae16b8a4fde59aca1227cc4 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=675167 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692235 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/gdk/x11/gdkdevicemanager-core-x11.c ++++ b/gdk/x11/gdkdevicemanager-core-x11.c +@@ -145,7 +145,7 @@ + gdk_event_set_device (event, device_manager->core_keyboard); + + event->key.state = (GdkModifierType) xevent->xkey.state; +- event->key.group = _gdk_x11_get_group_for_state (display, xevent->xkey.state); ++ event->key.group = gdk_x11_keymap_get_group_for_state (keymap, xevent->xkey.state); + event->key.hardware_keycode = xevent->xkey.keycode; + + event->key.keyval = GDK_KEY_VoidSymbol; +@@ -161,7 +161,7 @@ + _gdk_x11_keymap_add_virt_mods (keymap, &state); + event->key.state |= state; + +- event->key.is_modifier = _gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); ++ event->key.is_modifier = gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); + + _gdk_x11_event_translate_keyboard_string (&event->key); + +--- a/gdk/x11/gdkdevicemanager-xi2.c ++++ b/gdk/x11/gdkdevicemanager-xi2.c +@@ -1160,10 +1160,10 @@ + + event->key.time = xev->time; + event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group); +- event->key.group = _gdk_x11_get_group_for_state (display, event->key.state); ++ event->key.group = xev->group.effective; + + event->key.hardware_keycode = xev->detail; +- event->key.is_modifier = _gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); ++ event->key.is_modifier = gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); + + device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->deviceid)); +--- a/gdk/x11/gdkkeys-x11.c ++++ b/gdk/x11/gdkkeys-x11.c +@@ -1439,11 +1439,28 @@ + *upper = xupper; + } + ++/** ++ * gdk_x11_keymap_get_group_for_state: ++ * @keymap: a #GdkX11Keymap ++ * @state: raw state returned from X ++ * ++ * Extracts the group from the state field sent in an X Key event. ++ * This is only needed for code processing raw X events, since #GdkEventKey ++ * directly includes an is_modifier field. ++ * ++ * Returns: the index of the active keyboard group for the event ++ */ + gint +-_gdk_x11_get_group_for_state (GdkDisplay *display, +- GdkModifierType state) ++gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap, ++ guint state) + { +- GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); ++ GdkDisplay *display; ++ GdkX11Display *display_x11; ++ ++ g_return_val_if_fail (GDK_IS_X11_KEYMAP (keymap), 0); ++ ++ display = keymap->display; ++ display_x11 = GDK_X11_DISPLAY (display); + + #ifdef HAVE_XKB + if (display_x11->use_xkb) +@@ -1508,13 +1525,29 @@ + } + } + ++/** ++ * gdk_x11_keymap_key_is_modifier: ++ * @keymap: a #GdkX11Keymap ++ * @keycode: the hardware keycode from a key event ++ * ++ * Determines whether a particular key code represents a key that ++ * is a modifier. That is, it's a key that normally just affects ++ * the keyboard state and the behavior of other keys rather than ++ * producing a direct effect itself. This is only needed for code ++ * processing raw X events, since #GdkEventKey directly includes ++ * an is_modifier field. ++ * ++ * Returns: %TRUE if the hardware keycode is a modifier key ++ */ + gboolean +-_gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, +- guint keycode) ++gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, ++ guint keycode) + { + GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap); + gint i; + ++ g_return_val_if_fail (GDK_IS_X11_KEYMAP (keymap), FALSE); ++ + update_keyrange (keymap_x11); + if (keycode < keymap_x11->min_keycode || + keycode > keymap_x11->max_keycode) +--- a/gdk/x11/gdkprivate-x11.h ++++ b/gdk/x11/gdkprivate-x11.h +@@ -155,12 +155,8 @@ + void _gdk_x11_keymap_state_changed (GdkDisplay *display, + XEvent *event); + void _gdk_x11_keymap_keys_changed (GdkDisplay *display); +-gint _gdk_x11_get_group_for_state (GdkDisplay *display, +- GdkModifierType state); + void _gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap, + GdkModifierType *modifiers); +-gboolean _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, +- guint keycode); + + void _gdk_x11_windowing_init (void); + +--- a/gdk/x11/gdkx11keys.h ++++ b/gdk/x11/gdkx11keys.h +@@ -42,6 +42,11 @@ + + GType gdk_x11_keymap_get_type (void); + ++gint gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap, ++ guint state); ++ ++gboolean gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, ++ guint keycode); + G_END_DECLS + + #endif /* __GDK_X11_KEYMAP_H__ */ +--- a/gtk/gtkplug.c ++++ b/gtk/gtkplug.c +@@ -982,6 +982,10 @@ + gdk_event_set_device (event, keyboard); + + keymap = gdk_keymap_get_for_display (display); ++ ++ event->key.group = gdk_x11_keymap_get_group_for_state (keymap, xevent->xkey.state); ++ event->key.is_modifier = gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); ++ + gdk_keymap_translate_keyboard_state (keymap, + event->key.hardware_keycode, + event->key.state, +@@ -996,10 +1000,6 @@ + event->key.length = 0; + event->key.string = g_strdup (""); + +- /* FIXME: These should be filled in properly */ +- event->key.group = 0; +- event->key.is_modifier = FALSE; +- + return_val = GDK_FILTER_TRANSLATE; + } + } 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 2012-09-04 03:05:03.000000000 +0200 +++ gtk+3.0-3.4.2/debian/patches/series 2013-01-09 10:04:37.000000000 +0100 @@ -12,3 +12,4 @@ 072_statusicon_icon_size.patch 073_transparent_colors.patch 074_try-harder-to-discriminate-Shift-F10-and-F10.patch +075_gtkplug-fix-handling-of-key-events-for-layouts.patch diff -Nru gtk+3.0-3.4.2/debian/rules gtk+3.0-3.4.2/debian/rules --- gtk+3.0-3.4.2/debian/rules 2012-08-06 21:16:26.000000000 +0200 +++ gtk+3.0-3.4.2/debian/rules 2013-01-09 10:06:51.000000000 +0100 @@ -81,7 +81,7 @@ DEB_INSTALL_DOCS_$(COMMON_PKG) = README NEWS DEB_INSTALL_DOCS_$(DOC_PKG) += -X.in DEB_DH_MAKESHLIBS_ARGS_ALL += -X$(MODULES_BASE_PATH) -DEB_DH_MAKESHLIBS_ARGS_$(SHARED_PKG) += -V --add-udeb=$(UDEB_PKG) -- -c4 +DEB_DH_MAKESHLIBS_ARGS_$(SHARED_PKG) += -V 'libgtk-3-0 (>= 3.4.2-5~)' --add-udeb=$(UDEB_PKG) -- -c4 DEB_DH_MAKESHLIBS_ARGS_libgail-3-0 += -V -- -c4 DEB_DH_FIXPERMS_ARGS_ALL += -X$(LIBDIR)/$(SHARED_PKG) DEB_DH_STRIP_ARGS = --dbg-package=$(if $(findstring libgail,$(cdbs_curpkg)),libgail-3-0-dbg,$(DEBUG_PKG))Attachment: signature.asc
Description: Digital signature
--- End Message ---
--- Begin Message ---
- To: Sébastien Villemot <sebastien@debian.org>, 697749-done@bugs.debian.org
- Subject: Re: Bug#697749: unblock: gtk+3.0/3.4.2-5
- From: Julien Cristau <jcristau@debian.org>
- Date: Sat, 19 Jan 2013 12:55:18 +0100
- Message-id: <20130119115518.GW5676@radis.cristau.org>
- In-reply-to: <20130109104621.GA2726@villemot.name>
- References: <20130109104621.GA2726@villemot.name>
On Wed, Jan 9, 2013 at 11:46:54 +0100, Sébastien Villemot wrote: > 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-5 fixes important bug #692235. > The debdiff is attached. > > unblock gtk+3.0/3.4.2-5 > Unblocked, thanks. Cheers, JulienAttachment: signature.asc
Description: Digital signature
--- End Message ---