Browse Source

Fix for a recursion in Desktop class.

tags/2021-05-28
jules 12 years ago
parent
commit
4aef778da6
2 changed files with 10 additions and 3 deletions
  1. +8
    -3
      modules/juce_gui_basics/components/juce_Desktop.cpp
  2. +2
    -0
      modules/juce_gui_basics/components/juce_Desktop.h

+ 8
- 3
modules/juce_gui_basics/components/juce_Desktop.cpp View File

@@ -347,7 +347,7 @@ void Desktop::sendMouseMove()
//==============================================================================
Desktop::Displays::Displays() { refresh(); }
Desktop::Displays::Displays() { init(); }
Desktop::Displays::~Displays() {}
const Desktop::Displays::Display& Desktop::Displays::getMainDisplay() const noexcept
@@ -416,13 +416,18 @@ bool operator!= (const Desktop::Displays::Display& d1, const Desktop::Displays::
return ! (d1 == d2);
}
void Desktop::Displays::init()
{
findDisplays();
jassert (displays.size() > 0);
}
void Desktop::Displays::refresh()
{
Array<Display> oldDisplays;
oldDisplays.swapWithArray (displays);
findDisplays();
jassert (displays.size() > 0);
init();
if (oldDisplays != displays)
{


+ 2
- 0
modules/juce_gui_basics/components/juce_Desktop.h View File

@@ -370,6 +370,8 @@ public:
friend class Desktop;
Displays();
~Displays();
void init();
void findDisplays();
};


Loading…
Cancel
Save