mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-04 03:40:07 +00:00
macOS: Removed static display change callback
This commit is contained in:
parent
675d93315f
commit
762cf327be
1 changed files with 10 additions and 12 deletions
|
|
@ -441,30 +441,30 @@ struct DisplaySettingsChangeCallback : private DeletedAtShutdown
|
|||
{
|
||||
DisplaySettingsChangeCallback()
|
||||
{
|
||||
CGDisplayRegisterReconfigurationCallback (displayReconfigurationCallback, nullptr);
|
||||
CGDisplayRegisterReconfigurationCallback (displayReconfigurationCallback, this);
|
||||
}
|
||||
|
||||
~DisplaySettingsChangeCallback()
|
||||
{
|
||||
CGDisplayRemoveReconfigurationCallback (displayReconfigurationCallback, nullptr);
|
||||
CGDisplayRemoveReconfigurationCallback (displayReconfigurationCallback, this);
|
||||
clearSingletonInstance();
|
||||
}
|
||||
|
||||
static void displayReconfigurationCallback (CGDirectDisplayID, CGDisplayChangeSummaryFlags, void*)
|
||||
static void displayReconfigurationCallback (CGDirectDisplayID, CGDisplayChangeSummaryFlags, void* userInfo)
|
||||
{
|
||||
if (forceDisplayUpdate != nullptr)
|
||||
forceDisplayUpdate();
|
||||
if (auto* thisPtr = static_cast<DisplaySettingsChangeCallback*> (userInfo))
|
||||
if (thisPtr->forceDisplayUpdate != nullptr)
|
||||
thisPtr->forceDisplayUpdate();
|
||||
}
|
||||
|
||||
static std::function<void()> forceDisplayUpdate;
|
||||
std::function<void()> forceDisplayUpdate;
|
||||
|
||||
JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL (DisplaySettingsChangeCallback)
|
||||
JUCE_DECLARE_SINGLETON (DisplaySettingsChangeCallback, false)
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DisplaySettingsChangeCallback)
|
||||
};
|
||||
|
||||
JUCE_IMPLEMENT_SINGLETON (DisplaySettingsChangeCallback)
|
||||
|
||||
std::function<void()> DisplaySettingsChangeCallback::forceDisplayUpdate = nullptr;
|
||||
|
||||
static Rectangle<int> convertDisplayRect (NSRect r, CGFloat mainScreenBottom)
|
||||
{
|
||||
|
|
@ -498,10 +498,8 @@ void Displays::findDisplays (const float masterScale)
|
|||
{
|
||||
JUCE_AUTORELEASEPOOL
|
||||
{
|
||||
auto& settingsChangeCallback = *DisplaySettingsChangeCallback::getInstance();
|
||||
|
||||
if (settingsChangeCallback.forceDisplayUpdate == nullptr)
|
||||
settingsChangeCallback.forceDisplayUpdate = [this] { refresh(); };
|
||||
if (DisplaySettingsChangeCallback::getInstanceWithoutCreating() == nullptr)
|
||||
DisplaySettingsChangeCallback::getInstance()->forceDisplayUpdate = [this] { refresh(); };
|
||||
|
||||
CGFloat mainScreenBottom = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue