Browse Source

Merge pull request #8258 from AvaloniaUI/fixes/osx-keyboard-input

OSX: fix call to virtual method from ctor.
pull/8269/head
Dan Walmsley 4 years ago
parent
commit
8499a55af2
  1. 6
      native/Avalonia.Native/src/OSX/PopupImpl.mm
  2. 2
      native/Avalonia.Native/src/OSX/WindowBaseImpl.h
  3. 7
      native/Avalonia.Native/src/OSX/WindowBaseImpl.mm
  4. 3
      native/Avalonia.Native/src/OSX/WindowImpl.h
  5. 3
      native/Avalonia.Native/src/OSX/WindowImpl.mm

6
native/Avalonia.Native/src/OSX/PopupImpl.mm

@ -25,17 +25,13 @@ private:
PopupImpl(IAvnWindowEvents* events, IAvnGlContext* gl) : WindowBaseImpl(events, gl)
{
WindowEvents = events;
[Window setLevel:NSPopUpMenuWindowLevel];
}
protected:
virtual NSWindowStyleMask GetStyle() override
{
return NSWindowStyleMaskBorderless;
}
virtual void OnInitialiseNSWindow () override
{
[Window setLevel:NSPopUpMenuWindowLevel];
}
public:
virtual bool ShouldTakeFocusOnShow() override

2
native/Avalonia.Native/src/OSX/WindowBaseImpl.h

@ -106,8 +106,6 @@ protected:
virtual NSWindowStyleMask GetStyle();
void UpdateStyle();
virtual void OnInitialiseNSWindow ();
private:
void CreateNSWindow (bool isDialog);

7
native/Avalonia.Native/src/OSX/WindowBaseImpl.mm

@ -566,11 +566,6 @@ void WindowBaseImpl::CreateNSWindow(bool isDialog) {
}
}
void WindowBaseImpl::OnInitialiseNSWindow()
{
}
void WindowBaseImpl::InitialiseNSWindow() {
if(Window != nullptr) {
[Window setContentView:StandardContainer];
@ -593,8 +588,6 @@ void WindowBaseImpl::InitialiseNSWindow() {
[GetWindowProtocol() showWindowMenuWithAppMenu];
}
}
OnInitialiseNSWindow();
}
}

3
native/Avalonia.Native/src/OSX/WindowImpl.h

@ -93,8 +93,6 @@ BEGIN_INTERFACE_MAP()
virtual bool IsDialog() override;
virtual void OnInitialiseNSWindow() override;
virtual void BringToFront () override;
bool CanBecomeKeyWindow ();
@ -103,6 +101,7 @@ protected:
virtual NSWindowStyleMask GetStyle() override;
private:
void OnInitialiseNSWindow();
NSString *_lastTitle;
};

3
native/Avalonia.Native/src/OSX/WindowImpl.mm

@ -23,6 +23,8 @@ WindowImpl::WindowImpl(IAvnWindowEvents *events, IAvnGlContext *gl) : WindowBase
_lastTitle = @"";
_parent = nullptr;
WindowEvents = events;
OnInitialiseNSWindow();
}
void WindowImpl::HideOrShowTrafficLights() {
@ -40,6 +42,7 @@ void WindowImpl::HideOrShowTrafficLights() {
void WindowImpl::OnInitialiseNSWindow(){
[GetWindowProtocol() setCanBecomeKeyWindow:true];
[Window disableCursorRects];
[Window setTabbingMode:NSWindowTabbingModeDisallowed];
[Window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];

Loading…
Cancel
Save