summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/gtk/gloactiongroup.cxx13
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;
}