From e74849ccfb6e8027bae8878081f656c873878087 Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 5 Sep 2016 09:52:56 +0100 Subject: [PATCH] Fixed a missing call to lf.preparePopupMenuWindow in PopupMenu --- modules/juce_gui_basics/menus/juce_PopupMenu.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index 2ea986c4be..248cfd47b4 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -221,9 +221,11 @@ public: setLookAndFeel (parent != nullptr ? &(parent->getLookAndFeel()) : menu.lookAndFeel.get()); - parentComponent = getLookAndFeel().getParentComponentForMenuOptions (options); + LookAndFeel& lf = getLookAndFeel(); - setOpaque (getLookAndFeel().findColour (PopupMenu::backgroundColourId).isOpaque() + parentComponent = lf.getParentComponentForMenuOptions (options); + + setOpaque (lf.findColour (PopupMenu::backgroundColourId).isOpaque() || ! Desktop::canUseSemiTransparentWindows()); for (int i = 0; i < menu.items.size(); ++i) @@ -259,11 +261,13 @@ public: { addToDesktop (ComponentPeer::windowIsTemporary | ComponentPeer::windowIgnoresKeyPresses - | getLookAndFeel().getMenuWindowFlags()); + | lf.getMenuWindowFlags()); getActiveWindows().add (this); Desktop::getInstance().addGlobalMouseListener (this); } + + lf.preparePopupMenuWindow (*this); } ~MenuWindow() @@ -903,7 +907,6 @@ public: .withTargetComponent (nullptr), false, dismissOnMouseUp, managerOfChosenCommand); - getLookAndFeel().preparePopupMenuWindow (*activeSubMenu); activeSubMenu->setVisible (true); // (must be called before enterModalState on Windows to avoid DropShadower confusion) activeSubMenu->enterModalState (false); activeSubMenu->toFront (false);