[Libreoffice-commits] core.git: vcl/inc vcl/unx

Caolán McNamara caolanm at redhat.com
Fri May 6 12:51:16 UTC 2016


 vcl/inc/unx/gtk/gtksalmenu.hxx |    5 +----
 vcl/unx/gtk/gtksalmenu.cxx     |    3 ++-
 2 files changed, 3 insertions(+), 5 deletions(-)

New commits:
commit 945064c0b7ad4da6e215668ae7e4edb14945f00c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 6 13:50:38 2016 +0100

    gtk3: getting new entries added after the menu is visible is problematic
    
    Change-Id: Ibc2fc35c3d5315eb7d25181c2c2eba4cb5509a96

diff --git a/vcl/inc/unx/gtk/gtksalmenu.hxx b/vcl/inc/unx/gtk/gtksalmenu.hxx
index 9bd0a77..359ac5d 100644
--- a/vcl/inc/unx/gtk/gtksalmenu.hxx
+++ b/vcl/inc/unx/gtk/gtksalmenu.hxx
@@ -97,10 +97,7 @@ public:
     void                        NativeCheckItem( unsigned nSection, unsigned nItemPos, MenuItemBits bits, gboolean bCheck );
     void                        NativeSetAccelerator( unsigned nSection, unsigned nItemPos, const vcl::KeyCode& rKeyCode, const OUString& rKeyName );
 
-    void                        ActivateAllSubmenus()
-    {
-        ActivateAllSubmenus(mpVCLMenu);
-    }
+    void                        ActivateAllSubmenus() { ActivateAllSubmenus(mpVCLMenu); }
     static void                 DispatchCommand(const gchar* pMenuCommand);
     static void                 Activate(const gchar* pMenuCommand);
     static void                 Deactivate(const gchar* pMenuCommand);
diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx
index c503234..f199f74 100644
--- a/vcl/unx/gtk/gtksalmenu.cxx
+++ b/vcl/unx/gtk/gtksalmenu.cxx
@@ -375,7 +375,7 @@ bool GtkSalMenu::ShowNativePopupMenu(FloatingWindow* pWin, const Rectangle& rRec
     mpActionGroup = G_ACTION_GROUP(pActionGroup);
     mpMenuModel = G_MENU_MODEL(g_lo_menu_new());
     // Generate the main menu structure, populates mpMenuModel
-    UpdateFull();
+    ActivateAllSubmenus();
 
     GtkWidget *pWidget = gtk_menu_new_from_model(mpMenuModel);
     gtk_menu_attach_to_widget(GTK_MENU(pWidget), mpFrame->getMouseEventWidget(), nullptr);
@@ -894,6 +894,7 @@ void GtkSalMenu::ActivateAllSubmenus(Menu* pMenuBar)
             pSalItem->mpSubMenu->Update();
         }
     }
+    Update();
 }
 
 void GtkSalMenu::Activate(const gchar* pCommand)


More information about the Libreoffice-commits mailing list