diff --git a/build/ReactiveUI.props b/build/ReactiveUI.props
index f74ab07e31..c3b136d41d 100644
--- a/build/ReactiveUI.props
+++ b/build/ReactiveUI.props
@@ -1,5 +1,5 @@
-
+
diff --git a/native/Avalonia.Native/src/OSX/common.h b/native/Avalonia.Native/src/OSX/common.h
index 0f7215f37c..c082003ccf 100644
--- a/native/Avalonia.Native/src/OSX/common.h
+++ b/native/Avalonia.Native/src/OSX/common.h
@@ -23,7 +23,7 @@ extern IAvnCursorFactory* CreateCursorFactory();
extern IAvnGlDisplay* GetGlDisplay();
extern IAvnMenu* CreateAppMenu(IAvnMenuEvents* events);
extern IAvnMenuItem* CreateAppMenuItem();
-extern IAvnMenuItem* CreateAppMenuItemSeperator();
+extern IAvnMenuItem* CreateAppMenuItemSeparator();
extern IAvnNativeControlHost* CreateNativeControlHost(NSView* parent);
extern void SetAppMenu (NSString* appName, IAvnMenu* appMenu);
extern IAvnMenu* GetAppMenu ();
diff --git a/native/Avalonia.Native/src/OSX/main.mm b/native/Avalonia.Native/src/OSX/main.mm
index 11742e3b5c..aaaf381b26 100644
--- a/native/Avalonia.Native/src/OSX/main.mm
+++ b/native/Avalonia.Native/src/OSX/main.mm
@@ -253,9 +253,9 @@ public:
return S_OK;
}
- virtual HRESULT CreateMenuItemSeperator (IAvnMenuItem** ppv) override
+ virtual HRESULT CreateMenuItemSeparator (IAvnMenuItem** ppv) override
{
- *ppv = ::CreateAppMenuItemSeperator();
+ *ppv = ::CreateAppMenuItemSeparator();
return S_OK;
}
diff --git a/native/Avalonia.Native/src/OSX/menu.h b/native/Avalonia.Native/src/OSX/menu.h
index 564fdc132b..186fcf255b 100644
--- a/native/Avalonia.Native/src/OSX/menu.h
+++ b/native/Avalonia.Native/src/OSX/menu.h
@@ -31,13 +31,13 @@ private:
NSMenuItem* _native; // here we hold a pointer to an AvnMenuItem
IAvnActionCallback* _callback;
IAvnPredicateCallback* _predicate;
- bool _isSeperator;
+ bool _isSeparator;
bool _isCheckable;
public:
FORWARD_IUNKNOWN()
- AvnAppMenuItem(bool isSeperator);
+ AvnAppMenuItem(bool isSeparator);
NSMenuItem* GetNative();
@@ -60,7 +60,6 @@ public:
void RaiseOnClicked();
};
-
class AvnAppMenu : public ComSingleObject
{
private:
@@ -71,10 +70,12 @@ public:
FORWARD_IUNKNOWN()
AvnAppMenu(IAvnMenuEvents* events);
-
+
AvnMenu* GetNative();
void RaiseNeedsUpdate ();
+ void RaiseOpening();
+ void RaiseClosed();
virtual HRESULT InsertItem (int index, IAvnMenuItem* item) override;
diff --git a/native/Avalonia.Native/src/OSX/menu.mm b/native/Avalonia.Native/src/OSX/menu.mm
index ea5cca9ce8..b9a95e7b3c 100644
--- a/native/Avalonia.Native/src/OSX/menu.mm
+++ b/native/Avalonia.Native/src/OSX/menu.mm
@@ -71,12 +71,12 @@
}
@end
-AvnAppMenuItem::AvnAppMenuItem(bool isSeperator)
+AvnAppMenuItem::AvnAppMenuItem(bool isSeparator)
{
_isCheckable = false;
- _isSeperator = isSeperator;
+ _isSeparator = isSeparator;
- if(isSeperator)
+ if(isSeparator)
{
_native = [NSMenuItem separatorItem];
}
@@ -298,6 +298,23 @@ void AvnAppMenu::RaiseNeedsUpdate()
}
}
+void AvnAppMenu::RaiseOpening()
+{
+ if(_baseEvents != nullptr)
+ {
+ _baseEvents->Opening();
+ }
+}
+
+void AvnAppMenu::RaiseClosed()
+{
+ if(_baseEvents != nullptr)
+ {
+ _baseEvents->Closed();
+ }
+}
+
+
HRESULT AvnAppMenu::InsertItem(int index, IAvnMenuItem *item)
{
@autoreleasepool
@@ -382,6 +399,15 @@ HRESULT AvnAppMenu::Clear()
_parent->RaiseNeedsUpdate();
}
+- (void)menuWillOpen:(NSMenu *)menu
+{
+ _parent->RaiseOpening();
+}
+
+- (void)menuDidClose:(NSMenu *)menu
+{
+ _parent->RaiseClosed();
+}
@end
@@ -401,7 +427,7 @@ extern IAvnMenuItem* CreateAppMenuItem()
}
}
-extern IAvnMenuItem* CreateAppMenuItemSeperator()
+extern IAvnMenuItem* CreateAppMenuItemSeparator()
{
@autoreleasepool
{
diff --git a/native/Avalonia.Native/src/OSX/window.mm b/native/Avalonia.Native/src/OSX/window.mm
index 4d63c486c4..b46655c7df 100644
--- a/native/Avalonia.Native/src/OSX/window.mm
+++ b/native/Avalonia.Native/src/OSX/window.mm
@@ -2231,9 +2231,12 @@ protected:
{
@autoreleasepool
{
- [Window setContentSize:NSSize{x, y}];
+ if (Window != nullptr)
+ {
+ [Window setContentSize:NSSize{x, y}];
- [Window setFrameTopLeftPoint:ToNSPoint(ConvertPointY(lastPositionSet))];
+ [Window setFrameTopLeftPoint:ToNSPoint(ConvertPointY(lastPositionSet))];
+ }
return S_OK;
}
diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs
index 2c6ec70bd6..eec21d4423 100644
--- a/nukebuild/Build.cs
+++ b/nukebuild/Build.cs
@@ -89,10 +89,6 @@ partial class Build : NukeBuild
Process.Start(new ProcessStartInfo(command, args) {UseShellExecute = false}).WaitForExit();
}
ExecWait("dotnet version:", "dotnet", "--version");
- if (Parameters.IsRunningOnUnix)
- ExecWait("Mono version:", "mono", "--version");
-
-
}
IReadOnlyCollection