[vlc-devel] commit: Dialogs:destroy move from the Close function, because it prevents skins2 normal cleanup ( Close function is never called because refcount remains > 1) (Erwan Tulou )

git version control git at videolan.org
Tue Mar 3 09:17:16 CET 2009


vlc | branch: master | Erwan Tulou <brezhoneg1 at yahoo.fr> | Mon Mar  2 17:05:09 2009 +0100| [66f8f41b4c35b24bc6440cb722f63672e2601873] | committer: Jean-Baptiste Kempf 

Dialogs:destroy move from the Close function, because it prevents skins2 normal cleanup (Close function is never called because refcount remains > 1)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=66f8f41b4c35b24bc6440cb722f63672e2601873
---

 modules/gui/skins2/src/skin_main.cpp |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/modules/gui/skins2/src/skin_main.cpp b/modules/gui/skins2/src/skin_main.cpp
index be5bb55..9590e77 100644
--- a/modules/gui/skins2/src/skin_main.cpp
+++ b/modules/gui/skins2/src/skin_main.cpp
@@ -244,7 +244,7 @@ static void Close( vlc_object_t *p_this )
     // Destroy "singleton" objects
     OSFactory::instance( p_intf )->destroyOSLoop();
     ThemeRepository::destroy( p_intf );
-    Dialogs::destroy( p_intf );
+    //Dialogs::destroy( p_intf );
     Interpreter::destroy( p_intf );
     AsyncQueue::destroy( p_intf );
     VarManager::destroy( p_intf );
@@ -286,6 +286,10 @@ static void Run( intf_thread_t *p_intf )
         delete p_intf->p_sys->p_theme;
         p_intf->p_sys->p_theme = NULL;
     }
+
+    // cannot be called in "Close", because it refcounts skins2
+    Dialogs::destroy( p_intf );
+
     vlc_restorecancel(canc);
 }
 




More information about the vlc-devel mailing list