diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk/gloactiongroup.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/vcl/unx/gtk/gloactiongroup.cxx b/vcl/unx/gtk/gloactiongroup.cxx index 838538801ca7..7d846eb3c9c0 100644 --- a/vcl/unx/gtk/gloactiongroup.cxx +++ b/vcl/unx/gtk/gloactiongroup.cxx @@ -152,6 +152,15 @@ g_lo_action_group_query_action (GActionGroup *group, GLOActionGroup *lo_group = G_LO_ACTION_GROUP (group); GLOAction* action; + if (enabled) + { + GtkSalFrame* pFrame = lo_group->priv->frame; + if (pFrame) { + pFrame->EnsureDbusMenuSynced(); + } + } + + // note: EnsureDbusMenuSynced could have deleted the action! action = G_LO_ACTION (g_hash_table_lookup (lo_group->priv->table, action_name)); if (action == nullptr) @@ -159,10 +168,6 @@ g_lo_action_group_query_action (GActionGroup *group, if (enabled) { - GtkSalFrame* pFrame = lo_group->priv->frame; - if (pFrame) { - pFrame->EnsureDbusMenuSynced(); - } *enabled = action->enabled; } |