From 51e975bf37182f42f04e36baa2436b51babe5913 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Wed, 28 Feb 2001 04:07:54 +0000 Subject: Make this more robust: do not assume that the GdkEvent will be either a 2001-02-27 Miguel de Icaza * gal/widgets/e-gui-utils.c (e_popup_menu): Make this more robust: do not assume that the GdkEvent will be either a GdkEventButton of some sort or a GdkEventKey: deal gracefully with other possible svn path=/trunk/; revision=8423 --- widgets/misc/e-gui-utils.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/widgets/misc/e-gui-utils.c b/widgets/misc/e-gui-utils.c index 0d3dcf0728..9019ae18c5 100644 --- a/widgets/misc/e-gui-utils.c +++ b/widgets/misc/e-gui-utils.c @@ -62,10 +62,16 @@ e_popup_menu (GtkMenu *menu, GdkEvent *event) g_return_if_fail (GTK_IS_MENU (menu)); e_auto_kill_popup_menu_on_hide (menu); + if (event->type == GDK_KEY_PRESS) gtk_menu_popup (menu, NULL, NULL, 0, NULL, 0, event->key.time); - else + else if ((event->type == GDK_BUTTON_PRESS) || + (event->type == GDK_BUTTON_RELEASE) || + (event->type == GDK_2BUTTON_PRESS) || + (event->type == GDK_3BUTTON_PRESS)){ gtk_menu_popup (menu, NULL, NULL, 0, NULL, event->button.button, event->button.time); + } else + gtk_menu_popup (menu, NULL, NULL, 0, NULL, 0, GDK_CURRENT_TIME); } typedef struct { -- cgit