Using the base class wxHAS_NATIVE_ENABLED_MANAGEMENT in Cocoa
disabling/enabling child windows
Fixes #16232, fixes #15495.
(this is a backport of 91f25e0
from master)
This commit is contained in:
committed by
Dimitri Schoolwerth
parent
97eb03c9a7
commit
8d2956100f
@@ -260,6 +260,7 @@ public :
|
||||
void RestoreWindowLevel();
|
||||
|
||||
static WX_NSResponder GetNextFirstResponder() ;
|
||||
static WX_NSResponder GetFormerFirstResponder() ;
|
||||
protected :
|
||||
CGWindowLevel m_macWindowLevel;
|
||||
WXWindow m_macWindow;
|
||||
|
@@ -145,6 +145,7 @@ bool shouldHandleSelector(SEL selector)
|
||||
//
|
||||
|
||||
static NSResponder* s_nextFirstResponder = NULL;
|
||||
static NSResponder* s_formerFirstResponder = NULL;
|
||||
|
||||
@interface wxNSWindow : NSWindow
|
||||
{
|
||||
@@ -210,9 +211,13 @@ static NSResponder* s_nextFirstResponder = NULL;
|
||||
|
||||
- (BOOL)makeFirstResponder:(NSResponder *)aResponder
|
||||
{
|
||||
NSResponder* tempFormer = s_formerFirstResponder;
|
||||
NSResponder* tempNext = s_nextFirstResponder;
|
||||
s_nextFirstResponder = aResponder;
|
||||
s_formerFirstResponder = [[NSApp keyWindow] firstResponder];
|
||||
BOOL retval = [super makeFirstResponder:aResponder];
|
||||
s_nextFirstResponder = nil;
|
||||
s_nextFirstResponder = tempNext;
|
||||
s_formerFirstResponder = tempFormer;
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -1066,6 +1071,10 @@ WX_NSResponder wxNonOwnedWindowCocoaImpl::GetNextFirstResponder()
|
||||
return s_nextFirstResponder;
|
||||
}
|
||||
|
||||
WX_NSResponder wxNonOwnedWindowCocoaImpl::GetFormerFirstResponder()
|
||||
{
|
||||
return s_formerFirstResponder;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
|
Reference in New Issue
Block a user