keefehiggins / bizhawk

Automatically exported from code.google.com/p/bizhawk
0 stars 0 forks source link

TAStudio Projects throw exception on Play Movie Dialog #436

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Have a TASProj file in the movies directory
2. The folder TAStudio states gets created in the Movies folder when the Play 
Movie dialog is called.
3. When the dialog goes through it's process of finding the correct movie, it 
will throw an error about System.IO.DirectoryNotFoundException

What is the expected output? What do you see instead?
Full error text:

************** Exception Text **************
System.AggregateException: One or more errors occurred. ---> 
System.IO.DirectoryNotFoundException: Could not find a part of the path 
'D:\Emu\BizHawk\Movies\TAStudio states'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
   at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
   at BizHawk.Client.Common.TasStateManager..ctor(TasMovie movie)
   at BizHawk.Client.Common.TasMovie..ctor(String path, Boolean startsFromSavestate, BackgroundWorker progressReportWorker)
   at BizHawk.Client.Common.MovieService.Get(String path)
   at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force)
   at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force)
   at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass7.<ScanFiles>b__5(Int32 i)
   at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.<ForWorker>b__c()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass11.<ExecuteSelfReplicating>b__10(Object param0)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, Action`1 body)
   at BizHawk.Client.EmuHawk.PlayMovie.ScanFiles()
   at BizHawk.Client.EmuHawk.PlayMovie.PlayMovie_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
---> (Inner Exception #0) System.IO.DirectoryNotFoundException: Could not find 
a part of the path 'D:\Emu\BizHawk\Movies\TAStudio states'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
   at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
   at BizHawk.Client.Common.TasStateManager..ctor(TasMovie movie)
   at BizHawk.Client.Common.TasMovie..ctor(String path, Boolean startsFromSavestate, BackgroundWorker progressReportWorker)
   at BizHawk.Client.Common.MovieService.Get(String path)
   at BizHawk.Client.EmuHawk.PlayMovie.PreLoadMovieFile(HawkFile hf, Boolean force)
   at BizHawk.Client.EmuHawk.PlayMovie.AddMovieToList(String filename, Boolean force)
   at BizHawk.Client.EmuHawk.PlayMovie.<>c__DisplayClass7.<ScanFiles>b__5(Int32 i)
   at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.<ForWorker>b__c()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass11.<ExecuteSelfReplicating>b__10(Object param0)<---

EmuHawk appears to create this folder for each TASProj in the Movies Folder.

Original issue reported on code.google.com by hegyak on 17 Jun 2015 at 12:13