summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2017-03-10 02:42:56 +0200
committerMaxim Monastirsky <momonasmon@gmail.com>2017-03-16 21:53:15 +0200
commit5bb0cc118396c27a880ecab76c3ab383d6c8c0ff (patch)
tree19aaaef88e62af5f5320ea38734409f83f25791f /vcl
parent7c3f18ca3be629c2113e168ffe442c4e89cfeaea (diff)
Keep menubar hidden after Unity registrar activated
... if it was hidden before. Otherwise it becomes out of sync with MenuBar::mbDisplayable. Change-Id: I03c551ee70131a50fa694b7009c24833ac391990
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/gtk/gtksalframe.cxx1
-rw-r--r--vcl/unx/gtk/gtksalmenu.cxx9
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx1
3 files changed, 7 insertions, 4 deletions
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
index c03764ff3158..371f9be54f16 100644
--- a/vcl/unx/gtk/gtksalframe.cxx
+++ b/vcl/unx/gtk/gtksalframe.cxx
@@ -726,7 +726,6 @@ void on_registrar_available( GDBusConnection * /*connection*/,
{
GtkSalMenu* pGtkSalMenu = static_cast<GtkSalMenu*>(pSalMenu);
pGtkSalMenu->EnableUnity(true);
- pGtkSalMenu->UpdateFull();
}
}
diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx
index fe7eecedecdb..3540f6eab714 100644
--- a/vcl/unx/gtk/gtksalmenu.cxx
+++ b/vcl/unx/gtk/gtksalmenu.cxx
@@ -1157,14 +1157,19 @@ void GtkSalMenu::EnableUnity(bool bEnable)
bUnityMode = bEnable;
MenuBar* pMenuBar(static_cast<MenuBar*>(mpVCLMenu.get()));
+ bool bDisplayable(pMenuBar->IsDisplayable());
if (bEnable)
+ {
DestroyMenuBarWidget();
+ UpdateFull();
+ if (!bDisplayable)
+ ShowMenuBar(false);
+ }
else
{
Update();
- if (pMenuBar->IsDisplayable())
- CreateMenuBarWidget();
+ ShowMenuBar(bDisplayable);
}
pMenuBar->LayoutChanged();
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 9ecef8367aa0..543574f1e962 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -742,7 +742,6 @@ void on_registrar_available( GDBusConnection * /*connection*/,
{
GtkSalMenu* pGtkSalMenu = static_cast<GtkSalMenu*>(pSalMenu);
pGtkSalMenu->EnableUnity(true);
- pGtkSalMenu->UpdateFull();
}
}