diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp index 554484e2a6..b61a833f5c 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp @@ -127,7 +127,7 @@ public: { while (numSamples > 0) { - const int numAvailable = reservoirStart + samplesInReservoir - startSampleInFile; + const int numAvailable = (int) (reservoirStart + samplesInReservoir - startSampleInFile); if (startSampleInFile >= reservoirStart && numAvailable > 0) { diff --git a/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp b/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp index b7b8012abe..4e9fecc331 100644 --- a/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp +++ b/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp @@ -26,10 +26,7 @@ class AsyncUpdater::AsyncUpdaterMessage : public CallbackMessage { public: - AsyncUpdaterMessage (AsyncUpdater& owner_) - : owner (owner_) - { - } + AsyncUpdaterMessage (AsyncUpdater& au) : owner (au) {} void messageCallback() { diff --git a/modules/juce_events/broadcasters/juce_AsyncUpdater.h b/modules/juce_events/broadcasters/juce_AsyncUpdater.h index 236e85bf63..94ee19155e 100644 --- a/modules/juce_events/broadcasters/juce_AsyncUpdater.h +++ b/modules/juce_events/broadcasters/juce_AsyncUpdater.h @@ -45,7 +45,6 @@ public: AsyncUpdater(); /** Destructor. - If there are any pending callbacks when the object is deleted, these are lost. */ virtual ~AsyncUpdater(); diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index 1f73a43326..3b86ab9428 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -171,8 +171,7 @@ public: void resized() { - Component* const child = getChildComponent (0); - if (child != nullptr) + if (Component* const child = getChildComponent (0)) child->setBounds (getLocalBounds().reduced (2, 0)); } @@ -479,10 +478,9 @@ public: return; } - Window* currentlyModalWindow = dynamic_cast (Component::getCurrentlyModalComponent()); - - if (currentlyModalWindow != nullptr && ! treeContains (currentlyModalWindow)) - return; + if (Window* currentlyModalWindow = dynamic_cast (Component::getCurrentlyModalComponent())) + if (! treeContains (currentlyModalWindow)) + return; startTimer (PopupMenuSettings::timerInterval); // do this in case it was called from a mouse // move rather than a real timer callback @@ -1257,8 +1255,8 @@ public: void resized() { - if (getChildComponent(0) != nullptr) - getChildComponent(0)->setBounds (getLocalBounds()); + if (Component* const child = getChildComponent(0)) + child->setBounds (getLocalBounds()); } private: @@ -1536,16 +1534,12 @@ int PopupMenu::showAt (Component* componentToAttachTo, bool JUCE_CALLTYPE PopupMenu::dismissAllActiveMenus() { - Array& windows = Window::getActiveWindows(); - + const Array& windows = Window::getActiveWindows(); const int numWindows = windows.size(); - for (int i = numWindows; --i >= 0;) - { - Window* const pmw = windows[i]; - if (pmw != nullptr) + for (int i = numWindows; --i >= 0;) + if (Window* const pmw = windows[i]) pmw->dismissMenu (nullptr); - } return numWindows > 0; } @@ -1566,10 +1560,10 @@ bool PopupMenu::containsCommandItem (const int commandID) const { for (int i = items.size(); --i >= 0;) { - const Item* const mi = items.getUnchecked (i); + const Item& mi = *items.getUnchecked (i); - if ((mi->itemID == commandID && mi->commandManager != nullptr) - || (mi->subMenu != nullptr && mi->subMenu->containsCommandItem (commandID))) + if ((mi.itemID == commandID && mi.commandManager != nullptr) + || (mi.subMenu != nullptr && mi.subMenu->containsCommandItem (commandID))) { return true; } @@ -1582,14 +1576,14 @@ bool PopupMenu::containsAnyActiveItems() const noexcept { for (int i = items.size(); --i >= 0;) { - const Item* const mi = items.getUnchecked (i); + const Item& mi = *items.getUnchecked (i); - if (mi->subMenu != nullptr) + if (mi.subMenu != nullptr) { - if (mi->subMenu->containsAnyActiveItems()) + if (mi.subMenu->containsAnyActiveItems()) return true; } - else if (mi->isActive) + else if (mi.isActive) { return true; } @@ -1622,13 +1616,9 @@ void PopupMenu::CustomComponent::setHighlighted (bool shouldBeHighlighted) void PopupMenu::CustomComponent::triggerMenuItem() { - PopupMenu::ItemComponent* const mic = dynamic_cast (getParentComponent()); - - if (mic != nullptr) + if (PopupMenu::ItemComponent* const mic = dynamic_cast (getParentComponent())) { - PopupMenu::Window* const pmw = dynamic_cast (mic->getParentComponent()); - - if (pmw != nullptr) + if (PopupMenu::Window* const pmw = dynamic_cast (mic->getParentComponent())) { pmw->dismissMenu (&mic->itemInfo); } diff --git a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm index e5ee394af6..6816ab3b89 100644 --- a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm @@ -58,7 +58,6 @@ public: #else usingCoreGraphics (false), #endif - recursiveToFrontCall (false), isZooming (false), textWasInserted (false), notificationCenter (nil) @@ -370,10 +369,8 @@ public: NSView* v = [view hitTest: NSMakePoint (frameRect.origin.x + position.getX(), frameRect.origin.y + frameRect.size.height - position.getY())]; - if (trueIfInAChildWindow) - return v != nil; - - return v == view; + return trueIfInAChildWindow ? (v != nil) + : (v == view); } BorderSize getFrameSize() const @@ -427,18 +424,20 @@ public: if (window != nil && component.isVisible()) { + ++insideToFrontCall; + if (makeActiveWindow) [window makeKeyAndOrderFront: nil]; else [window orderFront: nil]; - if (! recursiveToFrontCall) + if (insideToFrontCall <= 1) { - recursiveToFrontCall = true; Desktop::getInstance().getMainMouseSource().forceMouseCursorUpdate(); handleBroughtToFront(); - recursiveToFrontCall = false; } + + --insideToFrontCall; } } @@ -783,6 +782,7 @@ public: Component* const modal = Component::getCurrentlyModalComponent(); if (modal != nullptr + && insideToFrontCall == 0 && (! getComponent().isParentOf (modal)) && getComponent().isCurrentlyBlockedByAnotherModalComponent()) { @@ -1133,13 +1133,14 @@ public: NSWindow* window; NSView* view; bool isSharedWindow, fullScreen, insideDrawRect; - bool usingCoreGraphics, recursiveToFrontCall, isZooming, textWasInserted; + bool usingCoreGraphics, isZooming, textWasInserted; String stringBeingComposed; NSNotificationCenter* notificationCenter; static ModifierKeys currentModifiers; static ComponentPeer* currentlyFocusedPeer; static Array keysCurrentlyDown; + static int insideToFrontCall; private: static NSView* createViewInstance(); @@ -1260,8 +1261,7 @@ private: if (! [NSApp isActive]) [NSApp activateIgnoringOtherApps: YES]; - Component* const modal = Component::getCurrentlyModalComponent(); - if (modal != nullptr) + if (Component* const modal = Component::getCurrentlyModalComponent()) modal->inputAttemptWhenModal(); } @@ -1271,6 +1271,8 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (NSViewComponentPeer); }; +int NSViewComponentPeer::insideToFrontCall = 0; + //============================================================================== struct JuceNSViewClass : public ObjCClass {