pidgin: 8789b479: Fix some key-press issues on nested popu...

sadrul at pidgin.im sadrul at pidgin.im
Mon Jun 9 15:35:55 EDT 2008


-----------------------------------------------------------------
Revision: 8789b479df4cdd68e5fae1b3b55e5465e84e5fb1
Ancestor: 461ca4ad604d8daf5623802a51964339f0ad2d6e
Author: sadrul at pidgin.im
Date: 2008-06-09T19:34:25
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/8789b479df4cdd68e5fae1b3b55e5465e84e5fb1

Modified files:
        finch/libgnt/gntmenu.c

ChangeLog: 

Fix some key-press issues on nested popup menus where pressing up/down
would scroll in the parent menu, when it's supposed to scroll in the
child menu.

-------------- next part --------------
============================================================
--- finch/libgnt/gntmenu.c	6c3920c01483614d44a692e2ab9f00f169096ecc
+++ finch/libgnt/gntmenu.c	1ed44b777d746a7664c4481d917b96b6d2e7752d
@@ -283,6 +283,8 @@ gnt_menu_key_pressed(GntWidget *widget, 
 		do sub = sub->submenu; while (sub->submenu);
 		if (gnt_widget_key_pressed(GNT_WIDGET(sub), text))
 			return TRUE;
+		if (menu->type != GNT_MENU_TOPLEVEL)
+			return FALSE;
 	}
 
 	if ((text[0] == 27 && text[1] == 0) ||
@@ -332,10 +334,12 @@ gnt_menu_key_pressed(GntWidget *widget, 
 				return TRUE;
 			}
 		}
+		if (gnt_bindable_perform_action_key(GNT_BINDABLE(widget), text))
+			return TRUE;
 		return org_key_pressed(widget, text);
 	}
 
-	return FALSE;
+	return gnt_bindable_perform_action_key(GNT_BINDABLE(widget), text);
 }
 
 static void
@@ -434,7 +438,7 @@ gnt_menu_init(GTypeInstance *instance, g
 {
 	GntWidget *widget = GNT_WIDGET(instance);
 	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER |
-			GNT_WIDGET_CAN_TAKE_FOCUS | GNT_WIDGET_TRANSIENT);
+			GNT_WIDGET_CAN_TAKE_FOCUS | GNT_WIDGET_TRANSIENT | GNT_WIDGET_DISABLE_ACTIONS);
 	GNTDEBUG;
 }
 


More information about the Commits mailing list