r27255 - in /desktop/experimental/gnome-panel/debian: changelog patches/04_modifier_contextmenu.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Sat Apr 2 19:46:44 UTC 2011


Author: joss
Date: Sat Apr  2 19:46:42 2011
New Revision: 27255

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=27255
Log:
04_modifier_contextmenu.patch: new patch. Make the context menu work 
even when there are other keys in the modifier mask.

Added:
    desktop/experimental/gnome-panel/debian/patches/04_modifier_contextmenu.patch
Modified:
    desktop/experimental/gnome-panel/debian/changelog
    desktop/experimental/gnome-panel/debian/patches/series

Modified: desktop/experimental/gnome-panel/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gnome-panel/debian/changelog?rev=27255&op=diff
==============================================================================
--- desktop/experimental/gnome-panel/debian/changelog [utf-8] (original)
+++ desktop/experimental/gnome-panel/debian/changelog [utf-8] Sat Apr  2 19:46:42 2011
@@ -2,6 +2,8 @@
 
   * 02_launcher_crash.patch: new patch. Fix a crash when clicking on 
     launchers with the compositor enabled.
+  * 04_modifier_contextmenu.patch: new patch. Make the context menu work 
+    even when there are other keys in the modifier mask.
 
  -- Josselin Mouette <joss at debian.org>  Sat, 02 Apr 2011 19:06:08 +0200
 

Added: desktop/experimental/gnome-panel/debian/patches/04_modifier_contextmenu.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gnome-panel/debian/patches/04_modifier_contextmenu.patch?rev=27255&op=file
==============================================================================
--- desktop/experimental/gnome-panel/debian/patches/04_modifier_contextmenu.patch (added)
+++ desktop/experimental/gnome-panel/debian/patches/04_modifier_contextmenu.patch [utf-8] Sat Apr  2 19:46:42 2011
@@ -1,0 +1,203 @@
+Index: gnome-panel-2.91.93/gnome-panel/panel.c
+===================================================================
+--- gnome-panel-2.91.93.orig/gnome-panel/panel.c	2011-04-02 19:41:16.901302001 +0200
++++ gnome-panel-2.91.93/gnome-panel/panel.c	2011-04-02 20:40:24.101302361 +0200
+@@ -355,14 +355,14 @@ static gboolean
+ panel_button_press_event (PanelToplevel  *toplevel,
+ 			  GdkEventButton *event)
+ {
+-	guint modifiers;
++	guint keymask;
+ 
+ 	if (event->button != 3)
+ 		return FALSE;
+ 
+-	modifiers = event->state & GDK_MODIFIER_MASK;
++	keymask = panel_bindings_get_mouse_button_modifier_keymask ();
+ 
+-	if (modifiers == panel_bindings_get_mouse_button_modifier_keymask ())
++	if ((event->state & keymask) == keymask)
+ 		return panel_popup_menu (toplevel, event->button, event->time);
+ 
+ 	return FALSE;
+Index: gnome-panel-2.91.93/gnome-panel/applet.c
+===================================================================
+--- gnome-panel-2.91.93.orig/gnome-panel/applet.c	2011-04-02 20:44:50.565302001 +0200
++++ gnome-panel-2.91.93/gnome-panel/applet.c	2011-04-02 20:46:17.797302001 +0200
+@@ -676,7 +676,7 @@ applet_button_press (GtkWidget      *wid
+ 		     GdkEventButton *event,
+ 		     AppletInfo     *info)
+ {
+-	guint modifiers;
++	guint keymask;
+ 
+ 	if (event->button != 3)
+ 		return FALSE;
+@@ -684,9 +684,9 @@ applet_button_press (GtkWidget      *wid
+ 	if (applet_must_skip_menu (info))
+ 		return FALSE;
+ 
+-	modifiers = event->state & GDK_MODIFIER_MASK;
++	keymask = panel_bindings_get_mouse_button_modifier_keymask ();
+ 
+-	if (modifiers == panel_bindings_get_mouse_button_modifier_keymask ())
++	if ((event->state & keymask) == keymask)
+ 		applet_show_menu (info, panel_applet_get_edit_menu (info), FALSE, event);
+ 	else
+ 		applet_show_menu (info, panel_applet_get_menu (info), TRUE, event);
+Index: gnome-panel-2.91.93/gnome-panel/panel-applet-frame.c
+===================================================================
+--- gnome-panel-2.91.93.orig/gnome-panel/panel-applet-frame.c	2011-04-02 20:40:38.817302001 +0200
++++ gnome-panel-2.91.93/gnome-panel/panel-applet-frame.c	2011-04-02 20:44:33.593302001 +0200
+@@ -347,7 +347,7 @@ panel_applet_frame_button_changed (GtkWi
+ {
+ 	PanelAppletFrame *frame;
+ 	gboolean          handled = FALSE;
+-	guint             modifiers;
++	guint             keymask;
+ 	GdkDisplay       *display;
+ 	GdkDevice        *pointer;
+ 	GdkDeviceManager *device_manager;
+@@ -360,7 +360,7 @@ panel_applet_frame_button_changed (GtkWi
+ 	if (event->window != gtk_widget_get_window (widget))
+ 		return FALSE;
+ 
+-	modifiers = event->state & GDK_MODIFIER_MASK;
++	keymask = panel_bindings_get_mouse_button_modifier_keymask ();
+ 
+ 	switch (event->button) {
+ 	case 1:
+@@ -368,7 +368,7 @@ panel_applet_frame_button_changed (GtkWi
+ 		if (button_event_in_rect (event, &frame->priv->handle_rect)) {
+ 			if ((event->type == GDK_BUTTON_PRESS ||
+ 			     event->type == GDK_2BUTTON_PRESS) &&
+-			    modifiers == panel_bindings_get_mouse_button_modifier_keymask ()){
++			    (event->state & keymask) == keymask) {
+ 				panel_widget_applet_drag_start (
+ 					frame->priv->panel, GTK_WIDGET (frame),
+ 					PW_DRAG_OFF_CURSOR, event->time);
+@@ -387,7 +387,7 @@ panel_applet_frame_button_changed (GtkWi
+ 			pointer = gdk_device_manager_get_client_pointer (device_manager);
+ 			gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
+ 
+-			if (modifiers == panel_bindings_get_mouse_button_modifier_keymask ())
++			if ((event->state & keymask) == keymask)
+ 				PANEL_APPLET_FRAME_GET_CLASS (frame)->popup_edit_menu (frame,
+ 										       event->button,
+ 										       event->time);
+Index: gnome-panel-2.91.93/gnome-panel/panel-toplevel.c
+===================================================================
+--- gnome-panel-2.91.93.orig/gnome-panel/panel-toplevel.c	2011-04-02 20:46:38.125302002 +0200
++++ gnome-panel-2.91.93/gnome-panel/panel-toplevel.c	2011-04-02 20:50:30.729301725 +0200
+@@ -2930,6 +2930,7 @@ panel_toplevel_button_press_event (GtkWi
+ {
+ 	PanelToplevel *toplevel;
+ 	GtkWidget     *event_widget;
++	guint          keymask;
+ 
+ 	g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE);
+ 
+@@ -2944,8 +2945,9 @@ panel_toplevel_button_press_event (GtkWi
+ 	/* Get the mouse-button modifier from metacity so that only intentional
+ 	 * moves are considered. We don't this for non-expanded panels since we
+ 	 * only have the handles that the user can grab. */
++	keymask = panel_bindings_get_mouse_button_modifier_keymask ();
+ 	if (toplevel->priv->expand &&
+-	    (event->state & GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())
++	    (event->state & keymask) != keymask)
+ 		return FALSE;
+ 
+ 	gdk_window_get_user_data (event->window, (gpointer)&event_widget);
+Index: gnome-panel-2.91.93/gnome-panel/panel-util.c
+===================================================================
+--- gnome-panel-2.91.93.orig/gnome-panel/panel-util.c	2011-04-02 20:54:33.181302001 +0200
++++ gnome-panel-2.91.93/gnome-panel/panel-util.c	2011-04-02 21:07:54.321300280 +0200
+@@ -1119,6 +1119,7 @@ panel_util_key_event_is_binding (GdkEven
+ 	gboolean         popup_modifier = FALSE;
+ 	char            *signal_dash;
+ 	char            *signal_underscore;
++	guint            keymask;
+ 
+ 	signal_dash = g_strdup (signal_name);
+ 	g_strdelimit (signal_dash, "_", '-');
+@@ -1140,8 +1141,9 @@ panel_util_key_event_is_binding (GdkEven
+ 				if (binding_entry->keyval != event->keyval)
+ 					break;
+ 
++				keymask = panel_bindings_get_mouse_button_modifier_keymask ();
+ 				popup = (event->state & GDK_MODIFIER_MASK) == binding_entry->modifiers;
+-				popup_modifier = (event->state & GDK_MODIFIER_MASK) == (panel_bindings_get_mouse_button_modifier_keymask ()|binding_entry->modifiers);
++				popup_modifier = (event->state & (keymask|binding_entry->modifiers)) == (keymask|binding_entry->modifiers);
+ 				break;
+ 			}
+ 		}
+Index: gnome-panel-2.91.93/gnome-panel/panel-widget.c
+===================================================================
+--- gnome-panel-2.91.93.orig/gnome-panel/panel-widget.c	2011-04-02 20:50:39.777302001 +0200
++++ gnome-panel-2.91.93/gnome-panel/panel-widget.c	2011-04-02 20:52:55.749300283 +0200
+@@ -1956,7 +1956,7 @@ panel_widget_applet_button_press_event (
+ {
+ 	GtkWidget   *parent;
+ 	PanelWidget *panel;
+-	guint        modifiers;
++	guint        keymask;
+ 	guint32      event_time;
+ 
+ 	parent = gtk_widget_get_parent (widget);
+@@ -1974,14 +1974,14 @@ panel_widget_applet_button_press_event (
+ 		return TRUE;
+ 	}
+ 
+-	modifiers = event->state & GDK_MODIFIER_MASK;
++	keymask = panel_bindings_get_mouse_button_modifier_keymask ();
+ 
+ 	/* Begin drag if the middle mouse button and modifier are pressed,
+ 	 * unless the panel is locked down or a grab is active (meaning a menu
+ 	 * is open) */
+ 	if (panel_lockdown_get_panels_locked_down_s () ||
+ 	    event->button != 2 ||
+-	    modifiers != panel_bindings_get_mouse_button_modifier_keymask () ||
++	    (event->state & keymask) != keymask ||
+ 	    gtk_grab_get_current() != NULL)
+ 		return FALSE;
+ 
+Index: gnome-panel-2.91.93/libpanel-applet/panel-applet-bindings.c
+===================================================================
+--- gnome-panel-2.91.93.orig/libpanel-applet/panel-applet-bindings.c	2011-04-02 21:23:28.241302002 +0200
++++ gnome-panel-2.91.93/libpanel-applet/panel-applet-bindings.c	2011-04-02 21:26:51.809301892 +0200
+@@ -260,6 +260,7 @@ panel_applet_bindings_key_event_is_bindi
+ 	gboolean         popup_modifier = FALSE;
+ 	char            *signal_dash;
+ 	char            *signal_underscore;
++	guint            keymask;
+ 
+ 	signal_dash = g_strdup (signal_name);
+ 	g_strdelimit (signal_dash, "_", '-');
+@@ -282,7 +283,7 @@ panel_applet_bindings_key_event_is_bindi
+ 					break;
+ 
+ 				popup = (event->state & GDK_MODIFIER_MASK) == binding_entry->modifiers;
+-				popup_modifier = (event->state & GDK_MODIFIER_MASK) == (panel_applet_bindings_get_mouse_button_modifier_keymask ()|binding_entry->modifiers);
++				popup_modifier = (event->state & (keymask|binding_entry->modifiers)) == (keymask|binding_entry->modifiers);
+ 				break;
+ 			}
+ 		}
+Index: gnome-panel-2.91.93/libpanel-applet/panel-applet.c
+===================================================================
+--- gnome-panel-2.91.93.orig/libpanel-applet/panel-applet.c	2011-04-02 21:27:22.369302001 +0200
++++ gnome-panel-2.91.93/libpanel-applet/panel-applet.c	2011-04-02 21:28:33.085302001 +0200
+@@ -1264,11 +1264,11 @@ panel_applet_button_press (GtkWidget
+ 	}
+ 
+ 	if (event->button == 3) {
+-		guint modifiers;
++		guint keymask;
+ 
+-		modifiers = event->state & GDK_MODIFIER_MASK;
++		keymask = panel_applet_bindings_get_mouse_button_modifier_keymask ();
+ 
+-		if (modifiers == panel_applet_bindings_get_mouse_button_modifier_keymask ())
++		if ((event->state & keymask) == keymask)
+ 			panel_applet_edit_menu_popup (applet, event->button, event->time);
+ 		else
+ 			panel_applet_menu_popup (applet, event->button, event->time);

Modified: desktop/experimental/gnome-panel/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gnome-panel/debian/patches/series?rev=27255&op=diff
==============================================================================
--- desktop/experimental/gnome-panel/debian/patches/series [utf-8] (original)
+++ desktop/experimental/gnome-panel/debian/patches/series [utf-8] Sat Apr  2 19:46:42 2011
@@ -1,5 +1,6 @@
 01_panel_submenus.patch
 02_launcher_crash.patch
 03_tasklist_orientation.patch
+04_modifier_contextmenu.patch
 09_default_icons.patch
 10_bookmarks_limit.patch




More information about the pkg-gnome-commits mailing list