empathy r1969 - trunk/libempathy-gtk



Author: xclaesse
Date: Fri Dec 12 15:49:31 2008
New Revision: 1969
URL: http://svn.gnome.org/viewvc/empathy?rev=1969&view=rev

Log:
Refactor empathy_gtk_init* to share common code.

Modified:
   trunk/libempathy-gtk/empathy-ui-utils.c

Modified: trunk/libempathy-gtk/empathy-ui-utils.c
==============================================================================
--- trunk/libempathy-gtk/empathy-ui-utils.c	(original)
+++ trunk/libempathy-gtk/empathy-ui-utils.c	Fri Dec 12 15:49:31 2008
@@ -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 @@
 			    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 {



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