ekiga r7427 - in trunk: lib/engine src src/gui



Author: jpuydt
Date: Wed Dec  3 21:05:24 2008
New Revision: 7427
URL: http://svn.gnome.org/viewvc/ekiga?rev=7427&view=rev

Log:
Stop the engine on exit... or we leak everything!

Modified:
   trunk/lib/engine/engine.cpp
   trunk/lib/engine/engine.h
   trunk/src/ekiga.cpp
   trunk/src/ekiga.h
   trunk/src/gui/main.cpp

Modified: trunk/lib/engine/engine.cpp
==============================================================================
--- trunk/lib/engine/engine.cpp	(original)
+++ trunk/lib/engine/engine.cpp	Wed Dec  3 21:05:24 2008
@@ -310,3 +310,11 @@
 {
   return service_core;
 }
+
+void
+engine_stop ()
+{
+  if (service_core)
+    delete service_core;
+  service_core = NULL;
+}

Modified: trunk/lib/engine/engine.h
==============================================================================
--- trunk/lib/engine/engine.h	(original)
+++ trunk/lib/engine/engine.h	Wed Dec  3 21:05:24 2008
@@ -45,14 +45,13 @@
  * @{
  */
 
-void
-engine_init (int argc,
-             char *argv[],
-             Ekiga::Runtime *runtime);
+void engine_init (int argc,
+		  char *argv[],
+		  Ekiga::Runtime *runtime);
 
+Ekiga::ServiceCore* engine_get_service_core ();
 
-Ekiga::ServiceCore *
-engine_get_service_core ();
+void engine_stop ();
 
 /**
  * @}

Modified: trunk/src/ekiga.cpp
==============================================================================
--- trunk/src/ekiga.cpp	(original)
+++ trunk/src/ekiga.cpp	Wed Dec  3 21:05:24 2008
@@ -229,3 +229,11 @@
   Ekiga::Runtime *runtime = new Ekiga::GlibRuntime;
   engine_init (1, NULL, runtime);
 }
+
+void
+GnomeMeeting::StopEngine ()
+{
+  PWaitAndSignal m(ep_var_mutex);
+
+  engine_stop ();
+}

Modified: trunk/src/ekiga.h
==============================================================================
--- trunk/src/ekiga.h	(original)
+++ trunk/src/ekiga.h	Wed Dec  3 21:05:24 2008
@@ -82,6 +82,13 @@
    */
   void InitEngine ();
 
+  
+  /* DESCRIPTION  : / 
+   * BEHAVIOR     : No more vroom.
+   * PRE          : /
+   */
+  void StopEngine ();
+
 
 
   /* DESCRIPTION  :  /

Modified: trunk/src/gui/main.cpp
==============================================================================
--- trunk/src/gui/main.cpp	(original)
+++ trunk/src/gui/main.cpp	Wed Dec  3 21:05:24 2008
@@ -4549,6 +4549,8 @@
   /* Exit Ekiga */
   GnomeMeeting::Process ()->Exit ();
 
+  GnomeMeeting::Process ()->StopEngine ();
+
   /* Save and shutdown the configuration */
   gm_conf_save ();
   gm_conf_shutdown ();



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