]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins/src/dialogs.cpp
* modules/gui/wxwindows/*: don't forget to delete the timer.
[vlc] / modules / gui / skins / src / dialogs.cpp
index 38b65247cb43a7c0f09c19c236747f88ffa99800..cfd6a1bca7b1bb75e3b2b3467ecfe5e41f6987bc 100644 (file)
@@ -2,7 +2,7 @@
  * dialogs.cpp: Handles all the different dialog boxes we provide.
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: dialogs.cpp,v 1.14 2003/09/05 15:55:30 asmax Exp $
+ * $Id: dialogs.cpp,v 1.15 2003/10/14 22:41:41 gbazin Exp $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -55,7 +55,8 @@ Dialogs::Dialogs( intf_thread_t *_p_intf )
     b_popup_change = VLC_FALSE;
 
     /* Allocate descriptor */
-    p_provider = (intf_thread_t *)vlc_object_create( p_intf, VLC_OBJECT_INTF );
+    p_provider = (intf_thread_t *)vlc_object_create( p_intf,
+                                                     VLC_OBJECT_DIALOGS );
     if( p_provider == NULL )
     {
         msg_Err( p_intf, "out of memory" );
@@ -71,6 +72,9 @@ Dialogs::Dialogs( intf_thread_t *_p_intf )
         return;
     }
 
+    /* Attach the dialogs provider to its parent interface */
+    vlc_object_attach( p_provider, p_intf );
+
     /* Initialize dialogs provider
      * (returns as soon as initialization is done) */
     if( p_provider->pf_run ) p_provider->pf_run( p_provider );
@@ -91,6 +95,9 @@ Dialogs::~Dialogs()
 {
     if( p_provider && p_module )
     {
+        /* Detach the dialogs provider from its parent interface */
+        vlc_object_detach( p_provider );
+
         module_Unneed( p_provider, p_module );
         vlc_object_destroy( p_provider );
     }