public void WindowsFormsSynchronizationContext_Dispose_MultipleTimes_Success() { var context = new WindowsFormsSynchronizationContext(); int callCount = 0; SendOrPostCallback callback = (state) => callCount++; context.Dispose(); context.Send(callback, new object()); Assert.Equal(0, callCount); // Call again. context.Dispose(); context.Send(callback, new object()); Assert.Equal(0, callCount); }
public void WindowsFormsSynchronizationContext_Post_InvokeDisposed_Nop(object state) { int callCount = 0; SendOrPostCallback callback = (actualState) => callCount++; var context = new WindowsFormsSynchronizationContext(); context.Dispose(); context.Post(callback, state); Assert.Equal(0, callCount); // Call again. context.Post(callback, state); Assert.Equal(0, callCount); }
private static void RunAppThread(object state) { var ownMessageLoopMainForm = new Form(); ownMessageLoopMainForm.ShowInTaskbar = false; ownMessageLoopMainForm.Width = 0; ownMessageLoopMainForm.Height = 0; ownMessageLoopMainForm.Load += ownerForm_Load; Application.Run(ownMessageLoopMainForm); if (syncContext != null) { syncContext.Dispose(); syncContext = null; } }
protected virtual void Dispose(bool disposing) { if (!_disposed) { if (disposing) { if (_threadInitializedEvent != null) { _threadInitializedEvent.Dispose(); _threadInitializedEvent = null; } if (_formsSyncContext != null) { _formsSyncContext.Dispose(); _formsSyncContext = null; } } _disposed = true; } }
protected virtual void Dispose(bool disposing) { if (!disposed) { if (disposing) { if (threadInitializedEvent != null) { threadInitializedEvent.Dispose(); threadInitializedEvent = null; } if (formsSyncContext != null) { formsSyncContext.Dispose(); formsSyncContext = null; } } disposed = true; } }