Răsfoiți Sursa

Merge pull request #730 from AvaloniaUI/fixes/729-gtk-window-close

GTK: Don't try to invalidate an already closed window.
Jeremy Koritzinsky 9 ani în urmă
părinte
comite
7b4c10a7f8
1 a modificat fișierele cu 3 adăugiri și 1 ștergeri
  1. 3 1
      src/Gtk/Avalonia.Gtk/WindowImplBase.cs

+ 3 - 1
src/Gtk/Avalonia.Gtk/WindowImplBase.cs

@@ -134,7 +134,7 @@ namespace Avalonia.Gtk
 
 
         public void Invalidate(Rect rect)
         public void Invalidate(Rect rect)
         {
         {
-            if (_window.GdkWindow != null)
+            if (_window?.GdkWindow != null)
                 _window.GdkWindow.InvalidateRect(
                 _window.GdkWindow.InvalidateRect(
                     new Rectangle((int) rect.X, (int) rect.Y, (int) rect.Width, (int) rect.Height), true);
                     new Rectangle((int) rect.X, (int) rect.Y, (int) rect.Width, (int) rect.Height), true);
         }
         }
@@ -306,7 +306,9 @@ namespace Avalonia.Gtk
 
 
         public void Dispose()
         public void Dispose()
         {
         {
+            _window.Hide();
             _window.Dispose();
             _window.Dispose();
+            _window = null;
         }
         }
     }
     }
 }
 }