| @@ -221,9 +221,11 @@ public: | |||||
| setLookAndFeel (parent != nullptr ? &(parent->getLookAndFeel()) | setLookAndFeel (parent != nullptr ? &(parent->getLookAndFeel()) | ||||
| : menu.lookAndFeel.get()); | : menu.lookAndFeel.get()); | ||||
| parentComponent = getLookAndFeel().getParentComponentForMenuOptions (options); | |||||
| LookAndFeel& lf = getLookAndFeel(); | |||||
| parentComponent = lf.getParentComponentForMenuOptions (options); | |||||
| setOpaque (getLookAndFeel().findColour (PopupMenu::backgroundColourId).isOpaque() | |||||
| setOpaque (lf.findColour (PopupMenu::backgroundColourId).isOpaque() | |||||
| || ! Desktop::canUseSemiTransparentWindows()); | || ! Desktop::canUseSemiTransparentWindows()); | ||||
| for (int i = 0; i < menu.items.size(); ++i) | for (int i = 0; i < menu.items.size(); ++i) | ||||
| @@ -259,11 +261,13 @@ public: | |||||
| { | { | ||||
| addToDesktop (ComponentPeer::windowIsTemporary | addToDesktop (ComponentPeer::windowIsTemporary | ||||
| | ComponentPeer::windowIgnoresKeyPresses | | ComponentPeer::windowIgnoresKeyPresses | ||||
| | getLookAndFeel().getMenuWindowFlags()); | |||||
| | lf.getMenuWindowFlags()); | |||||
| getActiveWindows().add (this); | getActiveWindows().add (this); | ||||
| Desktop::getInstance().addGlobalMouseListener (this); | Desktop::getInstance().addGlobalMouseListener (this); | ||||
| } | } | ||||
| lf.preparePopupMenuWindow (*this); | |||||
| } | } | ||||
| ~MenuWindow() | ~MenuWindow() | ||||
| @@ -903,7 +907,6 @@ public: | |||||
| .withTargetComponent (nullptr), | .withTargetComponent (nullptr), | ||||
| false, dismissOnMouseUp, managerOfChosenCommand); | false, dismissOnMouseUp, managerOfChosenCommand); | ||||
| getLookAndFeel().preparePopupMenuWindow (*activeSubMenu); | |||||
| activeSubMenu->setVisible (true); // (must be called before enterModalState on Windows to avoid DropShadower confusion) | activeSubMenu->setVisible (true); // (must be called before enterModalState on Windows to avoid DropShadower confusion) | ||||
| activeSubMenu->enterModalState (false); | activeSubMenu->enterModalState (false); | ||||
| activeSubMenu->toFront (false); | activeSubMenu->toFront (false); | ||||