[dia] [diagram-tree] Don't complain if DiaApplication was not created



commit 0a63840bbe1da6eef83eb460da083b5e15148d3a
Author: Hans Breuer <hans breuer org>
Date:   Tue Aug 3 17:17:56 2010 +0200

    [diagram-tree] Don't complain if DiaApplication was not created
    
    For some reason there are g_signal (id > 0) warnings if dia_application_get () is called first time during shutdown (diagram_dispose)

 app/dia-application.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/app/dia-application.c b/app/dia-application.c
index fed6f88..3815af3 100644
--- a/app/dia-application.c
+++ b/app/dia-application.c
@@ -96,31 +96,35 @@ dia_application_init (DiaApplication *app)
 {
 }
 
+static DiaApplication *_app = NULL;
+
 /* ensure the singleton is available */
 DiaApplication *
 dia_application_get (void)
 {
-  static DiaApplication *app = NULL;
   
-  if (!app)
-    app = g_object_new (DIA_TYPE_APPLICATION, NULL);
+  if (!_app)
+    _app = g_object_new (DIA_TYPE_APPLICATION, NULL);
   
-  return app;
+  return _app;
 }
 
 void
 dia_diagram_add (Diagram *dia)
 {
-  g_signal_emit (dia_application_get (), _dia_application_signals[DIAGRAM_ADD], 0, dia);
+  if (_app)
+    g_signal_emit (_app, _dia_application_signals[DIAGRAM_ADD], 0, dia);
 }
 void
 dia_diagram_remove (Diagram *dia)
 {
-  g_signal_emit (dia_application_get (), _dia_application_signals[DIAGRAM_REMOVE], 0, dia);
+  if (_app)
+    g_signal_emit (_app, _dia_application_signals[DIAGRAM_REMOVE], 0, dia);
 }
 
 void 
 dia_diagram_change (Diagram *dia, guint flags, gpointer object)
 {
-  g_signal_emit (dia_application_get (), _dia_application_signals[DIAGRAM_CHANGE], 0, dia, flags, object);
+  if (_app)
+    g_signal_emit (_app, _dia_application_signals[DIAGRAM_CHANGE], 0, dia, flags, object);
 }



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