ekiga r6365 - in trunk: . lib/engine/audioinput/null lib/engine/audioinput/ptlib lib/engine/audioinput/skel lib/engine/audiooutput/null lib/engine/audiooutput/ptlib lib/engine/audiooutput/skel lib/engine/videoinput/mlogo lib/engine/videoinput/ptlib lib/engine/videoinput/skel lib/engine/videooutput/dx lib/engine/videooutput/skel lib/engine/videooutput/x



Author: mschneid
Date: Wed Jun  4 19:37:58 2008
New Revision: 6365
URL: http://svn.gnome.org/viewvc/ekiga?rev=6365&view=rev

Log:
Call the managers destructors from the cores when
the cores are being destroyed.


Modified:
   trunk/ChangeLog
   trunk/lib/engine/audioinput/null/audioinput-manager-null.h
   trunk/lib/engine/audioinput/ptlib/audioinput-manager-ptlib.h
   trunk/lib/engine/audioinput/skel/audioinput-core.cpp
   trunk/lib/engine/audioinput/skel/audioinput-manager.h
   trunk/lib/engine/audiooutput/null/audiooutput-manager-null.h
   trunk/lib/engine/audiooutput/ptlib/audiooutput-manager-ptlib.h
   trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp
   trunk/lib/engine/audiooutput/skel/audiooutput-manager.h
   trunk/lib/engine/videoinput/mlogo/videoinput-manager-mlogo.h
   trunk/lib/engine/videoinput/ptlib/videoinput-manager-ptlib.h
   trunk/lib/engine/videoinput/skel/videoinput-core.cpp
   trunk/lib/engine/videoinput/skel/videoinput-manager.h
   trunk/lib/engine/videooutput/dx/videooutput-manager-dx.h
   trunk/lib/engine/videooutput/skel/videooutput-core.cpp
   trunk/lib/engine/videooutput/skel/videooutput-manager.h
   trunk/lib/engine/videooutput/x/videooutput-manager-x.h

Modified: trunk/lib/engine/audioinput/null/audioinput-manager-null.h
==============================================================================
--- trunk/lib/engine/audioinput/null/audioinput-manager-null.h	(original)
+++ trunk/lib/engine/audioinput/null/audioinput-manager-null.h	Wed Jun  4 19:37:58 2008
@@ -56,7 +56,7 @@
 
       GMAudioInputManager_null (Ekiga::ServiceCore & core);
 
-      ~GMAudioInputManager_null () {}
+      virtual ~GMAudioInputManager_null () {}
 
 
       virtual bool set_device (const Ekiga::AudioInputDevice & device);

Modified: trunk/lib/engine/audioinput/ptlib/audioinput-manager-ptlib.h
==============================================================================
--- trunk/lib/engine/audioinput/ptlib/audioinput-manager-ptlib.h	(original)
+++ trunk/lib/engine/audioinput/ptlib/audioinput-manager-ptlib.h	Wed Jun  4 19:37:58 2008
@@ -56,7 +56,7 @@
 
       GMAudioInputManager_ptlib (Ekiga::ServiceCore & core);
 
-      ~GMAudioInputManager_ptlib () {}
+      virtual ~GMAudioInputManager_ptlib () {}
 
 
       virtual bool set_device (const Ekiga::AudioInputDevice & device);

Modified: trunk/lib/engine/audioinput/skel/audioinput-core.cpp
==============================================================================
--- trunk/lib/engine/audioinput/skel/audioinput-core.cpp	(original)
+++ trunk/lib/engine/audioinput/skel/audioinput-core.cpp	Wed Jun  4 19:37:58 2008
@@ -147,6 +147,13 @@
 
   if (audioinput_core_conf_bridge)
     delete audioinput_core_conf_bridge;
+
+  for (std::set<AudioInputManager *>::iterator iter = managers.begin ();
+       iter != managers.end ();
+       iter++)
+    delete (*iter);
+
+  managers.clear();
 }
 
 void AudioInputCore::setup_conf_bridge ()

Modified: trunk/lib/engine/audioinput/skel/audioinput-manager.h
==============================================================================
--- trunk/lib/engine/audioinput/skel/audioinput-manager.h	(original)
+++ trunk/lib/engine/audioinput/skel/audioinput-manager.h	Wed Jun  4 19:37:58 2008
@@ -65,7 +65,7 @@
 
       /** The destructor
        */
-      ~AudioInputManager () {}
+      virtual ~AudioInputManager () {}
 
 
       /*** API for audio input ***/

Modified: trunk/lib/engine/audiooutput/null/audiooutput-manager-null.h
==============================================================================
--- trunk/lib/engine/audiooutput/null/audiooutput-manager-null.h	(original)
+++ trunk/lib/engine/audiooutput/null/audiooutput-manager-null.h	Wed Jun  4 19:37:58 2008
@@ -55,7 +55,7 @@
 
        GMAudioOutputManager_null (Ekiga::ServiceCore & core);
 
-      ~GMAudioOutputManager_null () {}
+      virtual ~GMAudioOutputManager_null () {}
 
       virtual void get_devices (std::vector <Ekiga::AudioOutputDevice> & devices);
 

Modified: trunk/lib/engine/audiooutput/ptlib/audiooutput-manager-ptlib.h
==============================================================================
--- trunk/lib/engine/audiooutput/ptlib/audiooutput-manager-ptlib.h	(original)
+++ trunk/lib/engine/audiooutput/ptlib/audiooutput-manager-ptlib.h	Wed Jun  4 19:37:58 2008
@@ -56,7 +56,7 @@
 
        GMAudioOutputManager_ptlib (Ekiga::ServiceCore & core);
 
-      ~GMAudioOutputManager_ptlib () {}
+      virtual ~GMAudioOutputManager_ptlib () {}
 
 
       virtual void get_devices (std::vector <Ekiga::AudioOutputDevice> & devices);

Modified: trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp
==============================================================================
--- trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp	(original)
+++ trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp	Wed Jun  4 19:37:58 2008
@@ -72,6 +72,13 @@
 
   if (audiooutput_core_conf_bridge)
     delete audiooutput_core_conf_bridge;
+
+  for (std::set<AudioOutputManager *>::iterator iter = managers.begin ();
+       iter != managers.end ();
+       iter++)
+    delete (*iter);
+
+  managers.clear();
 }
 
 void AudioOutputCore::setup_conf_bridge ()

Modified: trunk/lib/engine/audiooutput/skel/audiooutput-manager.h
==============================================================================
--- trunk/lib/engine/audiooutput/skel/audiooutput-manager.h	(original)
+++ trunk/lib/engine/audiooutput/skel/audiooutput-manager.h	Wed Jun  4 19:37:58 2008
@@ -65,7 +65,7 @@
 
       /** The destructor
        */
-      ~AudioOutputManager () {}
+      virtual ~AudioOutputManager () {}
 
 
       /*** API for audio output ***/

Modified: trunk/lib/engine/videoinput/mlogo/videoinput-manager-mlogo.h
==============================================================================
--- trunk/lib/engine/videoinput/mlogo/videoinput-manager-mlogo.h	(original)
+++ trunk/lib/engine/videoinput/mlogo/videoinput-manager-mlogo.h	Wed Jun  4 19:37:58 2008
@@ -57,7 +57,7 @@
 
       GMVideoInputManager_mlogo (Ekiga::ServiceCore & core);
 
-      ~GMVideoInputManager_mlogo () {}
+      virtual ~GMVideoInputManager_mlogo () {}
 
 
       virtual void get_devices(std::vector <Ekiga::VideoInputDevice> & devices);

Modified: trunk/lib/engine/videoinput/ptlib/videoinput-manager-ptlib.h
==============================================================================
--- trunk/lib/engine/videoinput/ptlib/videoinput-manager-ptlib.h	(original)
+++ trunk/lib/engine/videoinput/ptlib/videoinput-manager-ptlib.h	Wed Jun  4 19:37:58 2008
@@ -56,7 +56,7 @@
 
       GMVideoInputManager_ptlib (Ekiga::ServiceCore & core);
 
-      ~GMVideoInputManager_ptlib () {}
+      virtual ~GMVideoInputManager_ptlib () {}
 
 
       virtual void get_devices(std::vector <Ekiga::VideoInputDevice> & devices);

Modified: trunk/lib/engine/videoinput/skel/videoinput-core.cpp
==============================================================================
--- trunk/lib/engine/videoinput/skel/videoinput-core.cpp	(original)
+++ trunk/lib/engine/videoinput/skel/videoinput-core.cpp	Wed Jun  4 19:37:58 2008
@@ -148,6 +148,13 @@
 
   if (videoinput_core_conf_bridge)
     delete videoinput_core_conf_bridge;
+
+  for (std::set<VideoInputManager *>::iterator iter = managers.begin ();
+       iter != managers.end ();
+       iter++)
+    delete (*iter);
+
+  managers.clear();
 }
 
 void VideoInputCore::setup_conf_bridge ()

Modified: trunk/lib/engine/videoinput/skel/videoinput-manager.h
==============================================================================
--- trunk/lib/engine/videoinput/skel/videoinput-manager.h	(original)
+++ trunk/lib/engine/videoinput/skel/videoinput-manager.h	Wed Jun  4 19:37:58 2008
@@ -65,7 +65,7 @@
 
       /** The destructor
        */
-      ~VideoInputManager () {}
+      virtual ~VideoInputManager () {}
 
 
       /*** API for video input ***/

Modified: trunk/lib/engine/videooutput/dx/videooutput-manager-dx.h
==============================================================================
--- trunk/lib/engine/videooutput/dx/videooutput-manager-dx.h	(original)
+++ trunk/lib/engine/videooutput/dx/videooutput-manager-dx.h	Wed Jun  4 19:37:58 2008
@@ -55,7 +55,7 @@
   public:
     GMVideoOutputManager_dx (Ekiga::ServiceCore & _core);
 
-    ~GMVideoOutputManager_dx ();
+    virtual ~GMVideoOutputManager_dx ();
   
     virtual bool frame_display_change_needed ();
 

Modified: trunk/lib/engine/videooutput/skel/videooutput-core.cpp
==============================================================================
--- trunk/lib/engine/videooutput/skel/videooutput-core.cpp	(original)
+++ trunk/lib/engine/videooutput/skel/videooutput-core.cpp	Wed Jun  4 19:37:58 2008
@@ -64,6 +64,13 @@
 
   if (videooutput_core_conf_bridge)
     delete videooutput_core_conf_bridge;
+
+  for (std::set<VideoOutputManager *>::iterator iter = managers.begin ();
+       iter != managers.end ();
+       iter++)
+    delete (*iter);
+
+  managers.clear();
 }
 
 void VideoOutputCore::setup_conf_bridge ()

Modified: trunk/lib/engine/videooutput/skel/videooutput-manager.h
==============================================================================
--- trunk/lib/engine/videooutput/skel/videooutput-manager.h	(original)
+++ trunk/lib/engine/videooutput/skel/videooutput-manager.h	Wed Jun  4 19:37:58 2008
@@ -64,7 +64,7 @@
 
       /** The destructor
        */
-      ~VideoOutputManager () {}
+      virtual ~VideoOutputManager () {}
 
 
       /*** API for video output ***/

Modified: trunk/lib/engine/videooutput/x/videooutput-manager-x.h
==============================================================================
--- trunk/lib/engine/videooutput/x/videooutput-manager-x.h	(original)
+++ trunk/lib/engine/videooutput/x/videooutput-manager-x.h	Wed Jun  4 19:37:58 2008
@@ -55,7 +55,7 @@
 public:
   GMVideoOutputManager_x (Ekiga::ServiceCore & _core);
 
-  ~GMVideoOutputManager_x ();
+  virtual ~GMVideoOutputManager_x ();
 
   virtual bool frame_display_change_needed ();
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]