diff --git a/modules/juce_gui_basics/desktop/juce_Displays.cpp b/modules/juce_gui_basics/desktop/juce_Displays.cpp index bcd1fb4f5d..dc45a2e1b6 100644 --- a/modules/juce_gui_basics/desktop/juce_Displays.cpp +++ b/modules/juce_gui_basics/desktop/juce_Displays.cpp @@ -131,8 +131,14 @@ Point Displays::logicalToPhysical (Point point, const Disp const Displays::Display& Displays::getMainDisplay() const noexcept { ASSERT_MESSAGE_MANAGER_IS_LOCKED - jassert (displays.getReference(0).isMain); - return displays.getReference(0); + + for (auto& d : displays) + if (d.isMain) + return d; + + // no main display! + jassertfalse; + return displays.getReference (0); } RectangleList Displays::getRectangleList (bool userAreasOnly) const @@ -160,7 +166,7 @@ void Displays::refresh() if (oldDisplays != displays) { - for (int i = ComponentPeer::getNumPeers(); --i >= 0;) + for (auto i = ComponentPeer::getNumPeers(); --i >= 0;) if (auto* peer = ComponentPeer::getPeer (i)) peer->handleScreenSizeChange(); } @@ -184,8 +190,8 @@ bool operator!= (const Displays::Display& d1, const Displays::Display& d2) noexc const Displays::Display& Displays::getDisplayContaining (Point position) const noexcept { ASSERT_MESSAGE_MANAGER_IS_LOCKED - auto* best = &displays.getReference(0); - double bestDistance = 1.0e10; + auto* best = &displays.getReference (0); + auto bestDistance = std::numeric_limits::max(); for (auto& d : displays) {