Browse Source

Fixed an issue cleaning up a PopupMenu LookAndFeel

tags/2021-05-28
Tom Poole 7 years ago
parent
commit
071af1c285
1 changed files with 7 additions and 3 deletions
  1. +7
    -3
      modules/juce_gui_basics/menus/juce_PopupMenu.cpp

+ 7
- 3
modules/juce_gui_basics/menus/juce_PopupMenu.cpp View File

@@ -40,7 +40,7 @@ struct PopupMenu::HelperClasses
{
class MouseSourceState;
class MenuWindow;
struct MenuWindow;
static bool canBeTriggered (const PopupMenu::Item& item) noexcept { return item.isEnabled && item.itemID != 0 && ! item.isSectionHeader; }
static bool hasActiveSubMenu (const PopupMenu::Item& item) noexcept { return item.isEnabled && item.subMenu != nullptr && item.subMenu->items.size() > 0; }
@@ -189,9 +189,8 @@ private:
};
//==============================================================================
class MenuWindow : public Component
struct MenuWindow : public Component
{
public:
MenuWindow (const PopupMenu& menu, MenuWindow* parentWindow,
const Options& opts, bool alignToRectangle, bool shouldDismissOnMouseUp,
ApplicationCommandManager** manager, float parentScaleFactor = 1.0f)
@@ -1739,8 +1738,13 @@ bool JUCE_CALLTYPE PopupMenu::dismissAllActiveMenus()
auto numWindows = windows.size();
for (int i = numWindows; --i >= 0;)
{
if (auto* pmw = windows[i])
{
pmw->dismissMenu (nullptr);
pmw->setLookAndFeel (nullptr);
}
}
return numWindows > 0;
}


Loading…
Cancel
Save