From cbedf400e93dd3526607df4aedd3e623a54199d3 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 12 Dec 2008 15:49:38 +0000 Subject: gtk_init and g_thread_init shouldn't be called by libraries. Let applications do it. svn path=/trunk/; revision=1971 --- libempathy-gtk/empathy-ui-utils.c | 39 +++------------------------------------ libempathy-gtk/empathy-ui-utils.h | 9 +-------- libempathy/empathy-utils.c | 4 ---- src/empathy-logs.c | 4 +++- src/empathy.c | 12 +++++++----- tests/contact-manager.c | 3 ++- 6 files changed, 16 insertions(+), 55 deletions(-) diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c index 91bbfe58b..b317671d2 100644 --- a/libempathy-gtk/empathy-ui-utils.c +++ b/libempathy-gtk/empathy-ui-utils.c @@ -49,52 +49,19 @@ #include #include -static gboolean -init (gboolean abort_if_fail, - int *argc, - char ***argv, - char *parameter_string, - GOptionEntry *entries, - char *translation_domain, - GError **error) +void +empathy_gtk_init (void) { static gboolean initialized = FALSE; - gboolean ret = TRUE; if (initialized) - return TRUE; + return; empathy_init (); - if (abort_if_fail) { - gtk_init (argc, argv); - } else { - ret = gtk_init_with_args (argc, argv, parameter_string, entries, - translation_domain, error); - } gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), PKGDATADIR G_DIR_SEPARATOR_S "icons"); initialized = TRUE; - - return ret; -} - -void -empathy_gtk_init (int *argc, char ***argv) -{ - init (FALSE, argc, argv, NULL, NULL, NULL, NULL); -} - -gboolean -empathy_gtk_init_with_args (int *argc, - char ***argv, - char *parameter_string, - GOptionEntry *entries, - char *translation_domain, - GError **error) -{ - return init (TRUE, argc, argv, parameter_string, entries, - translation_domain, error); } struct SizeData { diff --git a/libempathy-gtk/empathy-ui-utils.h b/libempathy-gtk/empathy-ui-utils.h index 777ce8ee0..1ec4f5da6 100644 --- a/libempathy-gtk/empathy-ui-utils.h +++ b/libempathy-gtk/empathy-ui-utils.h @@ -46,14 +46,7 @@ G_BEGIN_DECLS #define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0') -void empathy_gtk_init (int *argc, - char ***argv); -gboolean empathy_gtk_init_with_args (int *argc, - char ***argv, - char *parameter_string, - GOptionEntry *entries, - char *translation_domain, - GError **error); +void empathy_gtk_init (void); /* Glade */ void empathy_glade_get_file_simple (const gchar *filename, const gchar *root, diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c index 2e02fc6c4..c025f26da 100644 --- a/libempathy/empathy-utils.c +++ b/libempathy/empathy-utils.c @@ -51,10 +51,6 @@ empathy_init (void) if (initialized) return; - /* Setup glib. Threads are required for async GIO. */ - if (!g_thread_supported ()) { - g_thread_init (NULL); - } g_type_init (); /* Setup gettext */ diff --git a/src/empathy-logs.c b/src/empathy-logs.c index f805f9094..502be67d7 100644 --- a/src/empathy-logs.c +++ b/src/empathy-logs.c @@ -41,7 +41,9 @@ main (int argc, char *argv[]) { GtkWidget *window; - empathy_gtk_init (&argc, &argv); + g_thread_init (NULL); + gtk_init (&argc, &argv); + empathy_gtk_init (); g_set_application_name (PACKAGE_NAME); gtk_window_set_default_icon_name ("empathy"); diff --git a/src/empathy.c b/src/empathy.c index 1e506ba6e..815b2b487 100644 --- a/src/empathy.c +++ b/src/empathy.c @@ -401,19 +401,21 @@ main (int argc, char *argv[]) { NULL } }; - startup_timestamp = get_startup_timestamp (); - - if (!empathy_gtk_init_with_args (&argc, &argv, - _("- Empathy Instant Messenger"), - options, GETTEXT_PACKAGE, &error)) { + /* Init */ + g_thread_init (NULL); + if (!gtk_init_with_args (&argc, &argv, + _("- Empathy Instant Messenger"), + options, GETTEXT_PACKAGE, &error)) { g_warning ("Error in empathy init: %s", error->message); return EXIT_FAILURE; } + empathy_gtk_init (); g_set_application_name (PACKAGE_NAME); gtk_window_set_default_icon_name ("empathy"); textdomain (GETTEXT_PACKAGE); /* Setting up the bacon connection */ + startup_timestamp = get_startup_timestamp (); connection = bacon_message_connection_new ("empathy"); if (connection != NULL) { if (!bacon_message_connection_get_is_server (connection)) { diff --git a/tests/contact-manager.c b/tests/contact-manager.c index ac3b6bdc8..81c1a9ba4 100644 --- a/tests/contact-manager.c +++ b/tests/contact-manager.c @@ -18,7 +18,8 @@ main (int argc, char **argv) GtkWidget *window; GtkCellRenderer *renderer; - empathy_gtk_init (&argc, &argv); + gtk_init (&argc, &argv); + empathy_gtk_init (); empathy_debug_set_flags (g_getenv ("EMPATHY_DEBUG")); main_loop = g_main_loop_new (NULL, FALSE); -- cgit v1.2.3