From db4a2c0b9fb27f19485cf154f6340010acecd9d9 Mon Sep 17 00:00:00 2001 From: reuk Date: Wed, 16 Oct 2024 13:05:14 +0100 Subject: [PATCH] PopupMenu: Make dismissOnMouseUp private --- modules/juce_gui_basics/menus/juce_PopupMenu.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index c7f5d553ce..69941badcc 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -345,11 +345,11 @@ struct MenuWindow final : public Component options (opts.withParentComponent (findNonNullLookAndFeel (menu, parentWindow).getParentComponentForMenuOptions (opts))), managerOfChosenCommand (manager), componentAttachedTo (options.getTargetComponent()), - dismissOnMouseUp (shouldDismissOnMouseUp), windowCreationTime (Time::getMillisecondCounter()), lastFocusedTime (windowCreationTime), timeEnteredCurrentChildComp (windowCreationTime), - scaleFactor (parentWindow != nullptr ? parentScaleFactor : 1.0f) + scaleFactor (parentWindow != nullptr ? parentScaleFactor : 1.0f), + dismissOnMouseUp (shouldDismissOnMouseUp) { setWantsKeyboardFocus (false); setMouseClickGrabsKeyboardFocus (false); @@ -1311,6 +1311,7 @@ struct MenuWindow final : public Component } bool mouseHasBeenOver() const { return mouseWasOver; } + bool shouldDismissOnMouseUp() const { return dismissOnMouseUp; } //============================================================================== MenuWindow* parent; @@ -1320,7 +1321,7 @@ struct MenuWindow final : public Component WeakReference componentAttachedTo; Rectangle windowPos; bool needsToScroll = false; - bool dismissOnMouseUp, hideOnExit = false, disableMouseMoves = false, hasAnyJuceCompHadFocus = false; + bool hideOnExit = false, disableMouseMoves = false, hasAnyJuceCompHadFocus = false; int numColumns = 0, contentHeight = 0, childYOffset = 0; Component::SafePointer currentChild; std::unique_ptr activeSubMenu; @@ -1338,6 +1339,7 @@ private: } bool mouseWasOver = false; + bool dismissOnMouseUp = false; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MenuWindow) }; @@ -1434,7 +1436,7 @@ private: { if (reallyContained) window.triggerCurrentlyHighlightedItem(); - else if ((window.mouseHasBeenOver() || ! window.dismissOnMouseUp) && ! isOverAny) + else if ((window.mouseHasBeenOver() || ! window.shouldDismissOnMouseUp()) && ! isOverAny) window.dismissMenu (nullptr); // Note: This object may have been deleted by the previous call.