diff --git a/src/Gtk/Avalonia.Gtk3/PopupImpl.cs b/src/Gtk/Avalonia.Gtk3/PopupImpl.cs index 7bd16cfabd..7d0423fd7a 100644 --- a/src/Gtk/Avalonia.Gtk3/PopupImpl.cs +++ b/src/Gtk/Avalonia.Gtk3/PopupImpl.cs @@ -32,9 +32,10 @@ namespace Avalonia.Gtk3 _desiredSize = value; if (GtkWidget.IsClosed) return; - if (base.ClientSize == value) - return; Native.GtkWindowResize(GtkWidget, (int) value.Width, (int) value.Height); + if (Native.GtkWidgetGetWindow(GtkWidget) == IntPtr.Zero) + Native.GtkWidgetRealize(GtkWidget); + Native.GdkWindowResize(Native.GtkWidgetGetWindow(GtkWidget), (int) value.Width, (int) value.Height); } } } diff --git a/src/Gtk/Avalonia.Gtk3/TopLevelImpl.cs b/src/Gtk/Avalonia.Gtk3/TopLevelImpl.cs index a8dc884244..80eb94d442 100644 --- a/src/Gtk/Avalonia.Gtk3/TopLevelImpl.cs +++ b/src/Gtk/Avalonia.Gtk3/TopLevelImpl.cs @@ -267,6 +267,8 @@ namespace Avalonia.Gtk3 public void SetCursor(IPlatformHandle cursor) { + if (GtkWidget.IsClosed) + return; Native.GdkWindowSetCursor(Native.GtkWidgetGetWindow(GtkWidget), cursor?.Handle ?? IntPtr.Zero); }