[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#697749: marked as done (unblock: gtk+3.0/3.4.2-5)



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 ---
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/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	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 ---
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,
Julien

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: