cDima / Aerial

Aerial Apple TV screen saver for Windows
1.97k stars 181 forks source link

Crash when a specific program is running #148

Open huntfx opened 6 years ago

huntfx commented 6 years ago

I looked around to see if it was possible to run 2 screensavers at once on different screens and found a program called Actual Multiple Monitors (I'm wanting Electric Sheep on the main monitor with Aerial on the smaller one). Unfortunately having the program running causes the screensaver to crash when viewed from the windows screensaver options, but not when the .scr file is directly loaded.

The exception however looks like it could be quite specific to a certain point in the code, so I'm curious if you may be able to fix this. The screensaver starts up fine behind the error message, so it could be possible that catching and ignoring could work.

Application: Aerial.scr
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ObjectDisposedException
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Form.CreateHandle()
   at System.Windows.Forms.Control.get_Handle()
   at System.Windows.Forms.Control.GetChildAtPoint(System.Drawing.Point, System.Windows.Forms.GetChildAtPointSkip)
   at ScreenSaver.IgnoreMouseClickMessageFilter.WasNotClickedOnTarget(System.Windows.Forms.Control, System.Windows.Forms.Control)
   at ScreenSaver.IgnoreMouseClickMessageFilter.PreFilterMessage(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Application+ThreadContext.ProcessFilters(MSG ByRef, Boolean ByRef)
   at System.Windows.Forms.Application+ThreadContext.PreTranslateMessage(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at ScreenSaver.Program.Main(System.String[])