[PATCH] Dialogs:destroy move from the Close function, because =

Erwan Tulou brezhoneg1 at yahoo.fr
Mon Mar 2 17:05:09 CET 2009


it prevents skins2 normal cleanup (Close function is never called =
because refcount remains > 1)=0A=
=0A=
---=0A=
 modules/gui/skins2/src/skin_main.cpp |    6 +++++-=0A=
 1 files changed, 5 insertions(+), 1 deletions(-)=0A=
=0A=
diff --git a/modules/gui/skins2/src/skin_main.cpp =
b/modules/gui/skins2/src/skin_main.cpp=0A=
index be5bb55..9590e77 100644=0A=
--- a/modules/gui/skins2/src/skin_main.cpp=0A=
+++ b/modules/gui/skins2/src/skin_main.cpp=0A=
@@ -244,7 +244,7 @@ static void Close( vlc_object_t *p_this )=0A=
     // Destroy "singleton" objects=0A=
     OSFactory::instance( p_intf )->destroyOSLoop();=0A=
     ThemeRepository::destroy( p_intf );=0A=
-    Dialogs::destroy( p_intf );=0A=
+    //Dialogs::destroy( p_intf );=0A=
     Interpreter::destroy( p_intf );=0A=
     AsyncQueue::destroy( p_intf );=0A=
     VarManager::destroy( p_intf );=0A=
@@ -286,6 +286,10 @@ static void Run( intf_thread_t *p_intf )=0A=
         delete p_intf->p_sys->p_theme;=0A=
         p_intf->p_sys->p_theme =3D NULL;=0A=
     }=0A=
+=0A=
+    // cannot be called in "Close", because it refcounts skins2=0A=
+    Dialogs::destroy( p_intf );=0A=
+=0A=
     vlc_restorecancel(canc);=0A=
 }=0A=
 =0A=
-- =0A=
1.5.2.5=0A=
=0A=

------=_NextPart_000_0001_01C99B5E.D3E633C0
Content-Type: application/octet-stream;
	name="0004-make-sure-xlib-is-initialized-to-be-thread-safe.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="0004-make-sure-xlib-is-initialized-to-be-thread-safe.patch"



More information about the vlc-devel mailing list