[empathy: 1/2] Don't destroy the call factory right away (#633816)



commit 6780c24c52863706602cf0b900ba4adc298180fe
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Tue Nov 2 14:58:03 2010 +0100

    Don't destroy the call factory right away (#633816)

 src/empathy-av.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/empathy-av.c b/src/empathy-av.c
index 6a46882..f6d1f52 100644
--- a/src/empathy-av.c
+++ b/src/empathy-av.c
@@ -47,6 +47,8 @@ static GtkApplication *app = NULL;
 static gboolean activated = FALSE;
 static gboolean use_timer = TRUE;
 
+static EmpathyCallFactory *call_factory = NULL;
+
 static void
 new_call_handler_cb (EmpathyCallFactory *factory,
     EmpathyCallHandler *handler,
@@ -72,12 +74,12 @@ activate_cb (GApplication *application)
 {
   if (!use_timer && !activated)
     {
-      EmpathyCallFactory *call_factory;
       GError *error = NULL;
 
       /* keep a 'ref' to the application */
       g_application_hold (G_APPLICATION (app));
 
+      g_assert (call_factory == NULL);
       call_factory = empathy_call_factory_initialise ();
 
       g_signal_connect (G_OBJECT (call_factory), "new-call-handler",
@@ -90,8 +92,6 @@ activate_cb (GApplication *application)
         }
 
       activated = TRUE;
-
-      g_object_unref (call_factory);
     }
 }
 
@@ -158,6 +158,7 @@ main (int argc,
   retval = g_application_run (G_APPLICATION (app), argc, argv);
 
   g_object_unref (app);
+  tp_clear_object (&call_factory);
 
 #ifdef ENABLE_DEBUG
   g_object_unref (debug_sender);



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