Issue 1:
PowerToys 0.20.0 crashed right after connecting Surface Book 2 15" to dock with external monitors.

Just after connecting the SB2 to external dock, I tried to move a window to another monitor holding Shift to snap using FancyZones.

I believe Windows was still resizing some shell UI elements, and PowerToys just crashed.

After restarting it, it showed a "PT Run got an error" dialog.

Attached are crash log and error message contents.

2020-08-03.txt

Version: 1.0.0

OS Version: Microsoft Windows NT 10.0.19041.0

IntPtr Length: 8

x64: True

Date: 08/03/2020 11:46:06

Exception:

System.ObjectDisposedException: Cannot access a disposed object.

Object name: 'Timer'.

at System.Timers.Timer.set_Enabled(Boolean value)

at System.Timers.Timer.Start()

at PowerLauncher.MainWindow.OnVisibilityChanged(Object sender, DependencyPropertyChangedEventArgs e)

at System.Windows.UIElement.RaiseDependencyPropertyChanged(EventPrivateKey key, DependencyPropertyChangedEventArgs args)

at System.Windows.UIElement.OnIsVisibleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)

at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)

at System.Windows.UIElement.UpdateIsVisibleCache()

at System.Windows.PresentationSource.RootChanged(Visual oldRoot, Visual newRoot)

at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)

at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)

at System.Windows.Window.SetRootVisual()

at System.Windows.Window.SetRootVisualAndUpdateSTC()

at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)

at System.Windows.Window.CreateSourceWindow(Boolean duringShow)

at System.Windows.Window.CreateSourceWindowDuringShow()

at System.Windows.Window.SafeCreateWindowDuringShow()

at System.Windows.Window.ShowHelper(Object booleanBox)

at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Issue 2:
Popup tells me to give y'all this.

2020-07-31.txt

Version: 1.0.0

OS Version: Microsoft Windows NT 10.0.19041.0

IntPtr Length: 8

x64: True

Date: 07/31/2020 17:29:59

Exception:

System.ObjectDisposedException: Cannot access a disposed object.

Object name: 'Timer'.

at System.Timers.Timer.set_Enabled(Boolean value)

at System.Timers.Timer.Start()

at PowerLauncher.MainWindow.OnVisibilityChanged(Object sender, DependencyPropertyChangedEventArgs e)

at System.Windows.UIElement.RaiseDependencyPropertyChanged(EventPrivateKey key, DependencyPropertyChangedEventArgs args)

at System.Windows.UIElement.OnIsVisibleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)

at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)

at System.Windows.UIElement.UpdateIsVisibleCache()

at System.Windows.PresentationSource.RootChanged(Visual oldRoot, Visual newRoot)

at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)

at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)

at System.Windows.Window.SetRootVisual()

at System.Windows.Window.SetRootVisualAndUpdateSTC()

at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)

at System.Windows.Window.CreateSourceWindow(Boolean duringShow)

at System.Windows.Window.CreateSourceWindowDuringShow()

at System.Windows.Window.SafeCreateWindowDuringShow()

at System.Windows.Window.ShowHelper(Object booleanBox)

at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)