diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2010-04-01 12:41:41 +0200 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2010-04-01 12:41:41 +0200 |
| commit | 042dd16d3e0f8b6149e80243aa833832aa4fc1f6 (patch) | |
| tree | 48bcee799eeeb8ca7e73e2000e2d48c6e79d55ab /libdbusmenu-gtk/client.c | |
| parent | 0f343edd778547d86b08bc4550f29429715928f1 (diff) | |
| parent | 65bd97a9dfb54716be7797923773e1ad7a33a67c (diff) | |
| download | libdbusmenu-042dd16d3e0f8b6149e80243aa833832aa4fc1f6.tar.gz libdbusmenu-042dd16d3e0f8b6149e80243aa833832aa4fc1f6.tar.bz2 libdbusmenu-042dd16d3e0f8b6149e80243aa833832aa4fc1f6.zip | |
releasing version 0.2.8-0ubuntu2
Diffstat (limited to 'libdbusmenu-gtk/client.c')
| -rw-r--r-- | libdbusmenu-gtk/client.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index 98f1cb2..3de42fe 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -109,10 +109,16 @@ static const gchar * data_menu = "dbusmenugtk-data-gtkmenu"; static gboolean menu_pressed_cb (GtkMenuItem * gmi, DbusmenuMenuitem * mi) { - GValue value = {0}; - g_value_init(&value, G_TYPE_INT); - g_value_set_int(&value, 0); - dbusmenu_menuitem_handle_event(mi, "clicked", &value, gtk_get_current_event_time()); + if (gtk_menu_item_get_submenu(gmi) == NULL) { + GValue value = {0}; + g_value_init(&value, G_TYPE_INT); + g_value_set_int(&value, 0); + dbusmenu_menuitem_handle_event(mi, "clicked", &value, gtk_get_current_event_time()); + } else { + /* TODO: We need to stop the display of the submenu + until this callback returns. */ + dbusmenu_menuitem_send_about_to_show(mi, NULL, NULL); + } return TRUE; } |
