Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
1.6.0
-
None
-
None
Description
<p>When MP is closed, D3D class or "Form" is disposed. But the MP main form is disposed before any proper cleanup and stop calls are made to actual code, like for example plugin manager</p>
<p>In MediaPortal.cs there is OnExit which has the all methods that should be called BEFORE MP Form is disposed. </p>
<p>Logs show wrong order:</p>
<div>[2014-01-21 00:15:31,067] [Log ] [MPMain ] [INFO ] - Main: Exit requested</div>
<div>[2014-01-21 00:15:31,100] [Log ] [MPMain ] [INFO ] - Main: Stopping FrameMove</div>
<div>[2014-01-21 00:15:31,102] [Log ] [MPMain ] [DEBUG] - D3D: OnFormClosing()</div>
<div>[2014-01-21 00:15:31,105] [Log ] [MPMain ] [DEBUG] - D3D CleanupEnvironment()</div>
<div>[2014-01-21 00:15:31,107] [Log ] [MPMain ] [DEBUG] - GUIFont:texture disposing:0 debug</div>
<div>[2014-01-21 00:15:31,109] [Log ] [MPMain ] [DEBUG] - GUIFont:texture disposing:1 font2</div>
<div>[2014-01-21 00:15:31,111] [Log ] [MPMain ] [DEBUG] - GUIFont:texture disposing:2 font10</div>
<div><clip></div>
<div>[2014-01-21 00:15:31,143] [Log ] [MPMain ] [INFO ] - TexturePacker: disposing texture:1994</div>
<div>[2014-01-21 00:15:31,145] [Log ] [MPMain ] [INFO ] - TexturePacker: disposing texture:1990</div>
<div>[2014-01-21 00:15:31,149] [Log ] [MPMain ] [DEBUG] - Main: WM_ACTIVATE (WA_INACTIVE)</div>
<div>[2014-01-21 00:15:31,150] [Log ] [MPMain ] [INFO ] - Main: Deactivation request received</div>
<div>[2014-01-21 00:15:31,152] [Log ] [MPMain ] [DEBUG] - D3D: OnLostFocus()</div>
<div>[2014-01-21 00:15:31,157] [Log ] [MPMain ] [DEBUG] - Main: SaveLastActiveModule - enabled False</div>
<div>[2014-01-21 00:15:31,159] [Log ] [MPMain ] [INFO ] - Main: Exiting</div>
<div>[2014-01-21 00:15:31,162] [Log ] [MPMain ] [DEBUG] - PlugInManager: Stop()</div>
<div>[2014-01-21 00:15:31,163] [Log ] [MPMain ] [DEBUG] - PluginManager: Stopping plugin 'MediaPortal.MusicShareWatcher.MusicShareWatcherPlugin'</div>
<div>[2014-01-21 00:15:31,165] [Log ] [MPMain ] [DEBUG] - PluginManager: Stopping plugin 'SkinTranslations.SkinTranslationsPlugin'</div>
<div>[2014-01-21 00:15:31,166] [Log ] [MPMain ] [DEBUG] - PluginManager: Stopping plugin 'TitanEditor.TitanPlugin'</div>
<div>[2014-01-21 00:15:31,168] [Log ] [MPMain ] [INFO ] - Titan plugin: Stopped</div>
<p>In MediaPortal.cs there is OnExit which has the all methods that should be called BEFORE MP Form is disposed. </p>
<p>Logs show wrong order:</p>
<div>[2014-01-21 00:15:31,067] [Log ] [MPMain ] [INFO ] - Main: Exit requested</div>
<div>[2014-01-21 00:15:31,100] [Log ] [MPMain ] [INFO ] - Main: Stopping FrameMove</div>
<div>[2014-01-21 00:15:31,102] [Log ] [MPMain ] [DEBUG] - D3D: OnFormClosing()</div>
<div>[2014-01-21 00:15:31,105] [Log ] [MPMain ] [DEBUG] - D3D CleanupEnvironment()</div>
<div>[2014-01-21 00:15:31,107] [Log ] [MPMain ] [DEBUG] - GUIFont:texture disposing:0 debug</div>
<div>[2014-01-21 00:15:31,109] [Log ] [MPMain ] [DEBUG] - GUIFont:texture disposing:1 font2</div>
<div>[2014-01-21 00:15:31,111] [Log ] [MPMain ] [DEBUG] - GUIFont:texture disposing:2 font10</div>
<div><clip></div>
<div>[2014-01-21 00:15:31,143] [Log ] [MPMain ] [INFO ] - TexturePacker: disposing texture:1994</div>
<div>[2014-01-21 00:15:31,145] [Log ] [MPMain ] [INFO ] - TexturePacker: disposing texture:1990</div>
<div>[2014-01-21 00:15:31,149] [Log ] [MPMain ] [DEBUG] - Main: WM_ACTIVATE (WA_INACTIVE)</div>
<div>[2014-01-21 00:15:31,150] [Log ] [MPMain ] [INFO ] - Main: Deactivation request received</div>
<div>[2014-01-21 00:15:31,152] [Log ] [MPMain ] [DEBUG] - D3D: OnLostFocus()</div>
<div>[2014-01-21 00:15:31,157] [Log ] [MPMain ] [DEBUG] - Main: SaveLastActiveModule - enabled False</div>
<div>[2014-01-21 00:15:31,159] [Log ] [MPMain ] [INFO ] - Main: Exiting</div>
<div>[2014-01-21 00:15:31,162] [Log ] [MPMain ] [DEBUG] - PlugInManager: Stop()</div>
<div>[2014-01-21 00:15:31,163] [Log ] [MPMain ] [DEBUG] - PluginManager: Stopping plugin 'MediaPortal.MusicShareWatcher.MusicShareWatcherPlugin'</div>
<div>[2014-01-21 00:15:31,165] [Log ] [MPMain ] [DEBUG] - PluginManager: Stopping plugin 'SkinTranslations.SkinTranslationsPlugin'</div>
<div>[2014-01-21 00:15:31,166] [Log ] [MPMain ] [DEBUG] - PluginManager: Stopping plugin 'TitanEditor.TitanPlugin'</div>
<div>[2014-01-21 00:15:31,168] [Log ] [MPMain ] [INFO ] - Titan plugin: Stopped</div>