[gnome-panel/wip-geiger-menu] panel-action-protocol: reuse existing standalone menu instance
- From: Sebastian Geiger <segeiger src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel/wip-geiger-menu] panel-action-protocol: reuse existing standalone menu instance
- Date: Sat, 25 Apr 2020 20:19:26 +0000 (UTC)
commit 0705379e8972a4042407c461fcc3879082673e53
Author: Sebastian Geiger <sbastig gmx net>
Date: Sat Apr 25 21:31:02 2020 +0200
panel-action-protocol: reuse existing standalone menu instance
gnome-panel/panel-action-protocol.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gnome-panel/panel-action-protocol.c b/gnome-panel/panel-action-protocol.c
index 97f63850a..0dbee8821 100644
--- a/gnome-panel/panel-action-protocol.c
+++ b/gnome-panel/panel-action-protocol.c
@@ -38,11 +38,15 @@ static Atom atom_gnome_panel_action = None;
static Atom atom_gnome_panel_action_main_menu = None;
static Atom atom_gnome_panel_action_run_dialog = None;
+static GtkWidget *standalone_menu = NULL;
+
static void
menu_destroy_cb (GtkWidget *widget,
PanelWidget *panel_widget)
{
panel_toplevel_pop_autohide_disabler (panel_widget->toplevel);
+
+ standalone_menu = NULL;
}
static void
@@ -84,15 +88,16 @@ panel_action_protocol_main_menu (GdkScreen *screen,
guint32 activate_time)
{
GSList *panels;
- GtkWidget *menu;
if (panel_applet_activate_main_menu (activate_time))
return;
panels = panel_widget_get_panels ();
- menu = panel_applets_manager_get_standalone_menu ();
- g_signal_connect (menu, "loaded", G_CALLBACK (menu_loaded_cb), panels->data);
+ if (!standalone_menu)
+ standalone_menu = panel_applets_manager_get_standalone_menu ();
+
+ g_signal_connect (standalone_menu, "loaded", G_CALLBACK (menu_loaded_cb), panels->data);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]