Переглянути джерело

Calling Dispose multiple times should be valid

Nikita Tsukanov 5 роки тому
батько
коміт
7460c429fe
1 змінених файлів з 5 додано та 0 видалено
  1. 5 0
      src/Avalonia.MicroCom/MicroComProxyBase.cs

+ 5 - 0
src/Avalonia.MicroCom/MicroComProxyBase.cs

@@ -65,8 +65,13 @@ namespace Avalonia.MicroCom
 
         protected virtual void Dispose(bool disposing)
         {
+            if(_nativePointer == null)
+                return;
             if (_ownsHandle)
+            {
                 Release();
+                _ownsHandle = false;
+            }
             _nativePointer = IntPtr.Zero;
             GC.SuppressFinalize(this);
         }