[ekiga/v4_0] Fix crash when display cannot be opened, e.g. "DISPLAY= ekiga"



commit 938952cb1a6d8858fb2e60b1dfbfeacf063d2d15
Author: Eugen Dedu <Eugen Dedu pu-pm univ-fcomte fr>
Date:   Fri Apr 12 18:44:04 2013 +0200

    Fix crash when display cannot be opened, e.g. "DISPLAY= ekiga"

 lib/engine/engine.cpp                     |    5 +----
 lib/engine/gui/gtk-core/gtk-core-main.cpp |   18 +++++-------------
 lib/engine/gui/gtk-core/gtk-core-main.h   |    6 +++---
 src/gui/main.cpp                          |    2 ++
 4 files changed, 11 insertions(+), 20 deletions(-)
---
diff --git a/lib/engine/engine.cpp b/lib/engine/engine.cpp
index 36320cb..61c0fbb 100644
--- a/lib/engine/engine.cpp
+++ b/lib/engine/engine.cpp
@@ -172,10 +172,7 @@ engine_init (Ekiga::ServiceCorePtr service_core,
    * doesn't work correctly */
   kickstart.kick (*service_core, &argc, &argv);
 
-  if (!gtk_core_init (*service_core, &argc, &argv)) {
-
-    return;
-  }
+  gtk_core_init (*service_core, &argc, &argv);
 
   if (!gtk_frontend_init (*service_core, &argc, &argv)) {
 
diff --git a/lib/engine/gui/gtk-core/gtk-core-main.cpp b/lib/engine/gui/gtk-core/gtk-core-main.cpp
index 34b8679..0ea55e9 100644
--- a/lib/engine/gui/gtk-core/gtk-core-main.cpp
+++ b/lib/engine/gui/gtk-core/gtk-core-main.cpp
@@ -41,19 +41,11 @@
 #include "gtk-core-main.h"
 #include "gtk-core.h"
 
-bool
+void
 gtk_core_init (Ekiga::ServiceCore &core,
-              int *argc,
-              char **argv[])
+               int */*argc*/,
+               char **/*argv*/[])
 {
-  if (gtk_init_check (argc, argv)) {
-
-    boost::shared_ptr<Gtk::Core> gtk (new Gtk::Core);
-
-    core.add (gtk);
-
-    return true;
-
-  } else
-    return false;
+  boost::shared_ptr<Gtk::Core> gtk (new Gtk::Core);
+  core.add (gtk);
 }
diff --git a/lib/engine/gui/gtk-core/gtk-core-main.h b/lib/engine/gui/gtk-core/gtk-core-main.h
index 40241a8..edbd514 100644
--- a/lib/engine/gui/gtk-core/gtk-core-main.h
+++ b/lib/engine/gui/gtk-core/gtk-core-main.h
@@ -41,8 +41,8 @@
 
 #include "services.h"
 
-bool gtk_core_init (Ekiga::ServiceCore &core,
-                   int *argc,
-                   char **argv[]);
+void gtk_core_init (Ekiga::ServiceCore &core,
+                    int *argc,
+                    char **argv[]);
 
 #endif
diff --git a/src/gui/main.cpp b/src/gui/main.cpp
index 98650e3..f72507d 100644
--- a/src/gui/main.cpp
+++ b/src/gui/main.cpp
@@ -183,6 +183,8 @@ main (int argc,
 #endif
 
   /* Ekiga initialisation */
+  gtk_init (&argc, &argv);
+
   // should come *after* ptrace initialisation, to track codec loading for ex.
   GnomeMeeting instance;
 


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