From 654ef6d729a69718ea60ae6f97e64cfa084ce29b Mon Sep 17 00:00:00 2001 From: Ian McInerney Date: Fri, 24 Jan 2020 00:06:14 +0000 Subject: [PATCH] OSX: Only update the window level if it has changed Updating the level could lead to windows being reordered in that level on some OS versions, so for safety don't do it unless it is needed. --- src/osx/cocoa/nonownedwnd.mm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/osx/cocoa/nonownedwnd.mm b/src/osx/cocoa/nonownedwnd.mm index 95319f6ce5..c118d47b08 100644 --- a/src/osx/cocoa/nonownedwnd.mm +++ b/src/osx/cocoa/nonownedwnd.mm @@ -939,9 +939,13 @@ void wxNonOwnedWindowCocoaImpl::SetWindowStyleFlag( long style ) level = NSModalPanelWindowLevel; else if (( style & wxFRAME_FLOAT_ON_PARENT ) || ( style & wxFRAME_TOOL_WINDOW )) level = NSFloatingWindowLevel; - - [m_macWindow setLevel: level]; - m_macWindowLevel = level; + + // Only update the level when it has changed, setting a level can cause the OS to reorder the windows in the level + if ( level != m_macWindowLevel ) + { + [m_macWindow setLevel: level]; + m_macWindowLevel = level; + } } }