aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-ui-utils.c45
1 files changed, 26 insertions, 19 deletions
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 351a5aa9c..91bbfe58b 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -49,20 +49,40 @@
#include <libempathy/empathy-utils.h>
#include <libempathy/empathy-dispatcher.h>
-void
-empathy_gtk_init (int *argc, char ***argv)
+static gboolean
+init (gboolean abort_if_fail,
+ int *argc,
+ char ***argv,
+ char *parameter_string,
+ GOptionEntry *entries,
+ char *translation_domain,
+ GError **error)
{
static gboolean initialized = FALSE;
+ gboolean ret = TRUE;
if (initialized)
- return;
+ return TRUE;
empathy_init ();
- gtk_init (argc, argv);
+ 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
@@ -73,21 +93,8 @@ empathy_gtk_init_with_args (int *argc,
char *translation_domain,
GError **error)
{
- static gboolean initialized = FALSE;
- gboolean ret;
-
- if (initialized)
- return TRUE;
-
- empathy_init ();
- 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;
+ return init (TRUE, argc, argv, parameter_string, entries,
+ translation_domain, error);
}
struct SizeData {