r22379 - gnucash/trunk - Replace gnome_program_init with gtk_init

Geert Janssens gjanssens at code.gnucash.org
Mon Sep 10 15:22:00 EDT 2012


Author: gjanssens
Date: 2012-09-10 15:22:00 -0400 (Mon, 10 Sep 2012)
New Revision: 22379
Trac: http://svn.gnucash.org/trac/changeset/22379

Modified:
   gnucash/trunk/configure.ac
   gnucash/trunk/src/bin/Makefile.am
   gnucash/trunk/src/bin/gnucash-bin.c
   gnucash/trunk/src/core-utils/gnc-path.c
   gnucash/trunk/src/core-utils/gnc-path.h
   gnucash/trunk/src/gnome-utils/Makefile.am
   gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c
   gnucash/trunk/src/gnome-utils/gnc-gnome-utils.h
Log:
Replace gnome_program_init with gtk_init

This required some small reorganization of our setup code, but the end
result is that gnucash is now independent of libgnome.

Modified: gnucash/trunk/configure.ac
===================================================================
--- gnucash/trunk/configure.ac	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/configure.ac	2012-09-10 19:22:00 UTC (rev 22379)
@@ -861,11 +861,6 @@
   AC_SUBST(GTK_CFLAGS)
   AC_SUBST(GTK_LIBS)
 
-  PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 >= 2.22)
-  AS_SCRUB_INCLUDE(GNOME_CFLAGS)
-  AC_SUBST(GNOME_CFLAGS)
-  AC_SUBST(GNOME_LIBS)
-
   PKG_CHECK_MODULES(GNOMECANVAS, libgnomecanvas-2.0)
   AS_SCRUB_INCLUDE(GNOMECANVAS_CFLAGS)
   AC_SUBST(GNOMECANVAS_CFLAGS)

Modified: gnucash/trunk/src/bin/Makefile.am
===================================================================
--- gnucash/trunk/src/bin/Makefile.am	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/bin/Makefile.am	2012-09-10 19:22:00 UTC (rev 22379)
@@ -71,7 +71,6 @@
   ${GUILE_LIBS} \
   ${GLIB_LIBS} \
   ${GCONF_LIBS} \
-  ${GNOME_LIBS} \
   ${GTK_LIBS}
 
 GNUCASH_BIN_INSTALL_NAME=`echo ${BIN_NAME} | sed -e '$(transform)'`

Modified: gnucash/trunk/src/bin/gnucash-bin.c
===================================================================
--- gnucash/trunk/src/bin/gnucash-bin.c	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/bin/gnucash-bin.c	2012-09-10 19:22:00 UTC (rev 22379)
@@ -28,7 +28,6 @@
 #include <libguile.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <libgnome/libgnome.h>
 #include "glib.h"
 #include "gnc-module.h"
 #include "gnc-path.h"
@@ -74,13 +73,77 @@
 #endif
 
 /* Command-line option variables */
-static int gnucash_show_version = 0;
-static const char *add_quotes_file = NULL;
-static int nofile = 0;
-static const char *file_to_load = NULL;
-static gchar **log_flags = NULL;
-static gchar *log_to_filename = NULL;
+static int          gnucash_show_version = 0;
+static int          debugging        = 0;
+static int          extra            = 0;
+static gchar      **log_flags        = NULL;
+static gchar       *log_to_filename  = NULL;
+static int          nofile           = 0;
+static const gchar *gconf_path       = NULL;
+static const char  *add_quotes_file  = NULL;
+static char        *namespace_regexp = NULL;
+static const char  *file_to_load     = NULL;
+static gchar      **args_remaining   = NULL;
 
+static GOptionEntry options[] =
+{
+    {
+        "version", 'v', 0, G_OPTION_ARG_NONE, &gnucash_show_version,
+        N_("Show GnuCash version"), NULL
+    },
+
+    {
+        "debug", '\0', 0, G_OPTION_ARG_NONE, &debugging,
+        N_("Enable debugging mode: increasing logging to provide deep detail."), NULL
+    },
+
+    {
+        "extra", '\0', 0, G_OPTION_ARG_NONE, &extra,
+        N_("Enable extra/development/debugging features."), NULL
+    },
+
+    {
+        "log", '\0', 0, G_OPTION_ARG_STRING_ARRAY, &log_flags,
+        N_("Log level overrides, of the form \"log.ger.path={debug,info,warn,crit,error}\""),
+        NULL
+    },
+
+    {
+        "logto", '\0', 0, G_OPTION_ARG_STRING, &log_to_filename,
+        N_("File to log into; defaults to \"/tmp/gnucash.trace\"; can be \"stderr\" or \"stdout\"."),
+        NULL
+    },
+
+    {
+        "nofile", '\0', 0, G_OPTION_ARG_NONE, &nofile,
+        N_("Do not load the last file opened"), NULL
+    },
+    {
+        "gconf-path", '\0', 0, G_OPTION_ARG_STRING, &gconf_path,
+        N_("Set the prefix path for gconf queries"),
+        /* Translators: Argument description for autohelp; see
+           http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html */
+        N_("GCONFPATH")
+    },
+    {
+        "add-price-quotes", '\0', 0, G_OPTION_ARG_STRING, &add_quotes_file,
+        N_("Add price quotes to given GnuCash datafile"),
+        /* Translators: Argument description for autohelp; see
+           http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html */
+        N_("FILE")
+    },
+    {
+        "namespace", '\0', 0, G_OPTION_ARG_STRING, &namespace_regexp,
+        N_("Regular expression determining which namespace commodities will be retrieved"),
+        /* Translators: Argument description for autohelp; see
+           http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html */
+        N_("REGEXP")
+    },
+    {
+        G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &args_remaining, NULL, N_("[datafile]") },
+    { NULL }
+};
+
 static void
 gnc_print_unstable_message(void)
 {
@@ -438,83 +501,14 @@
 static void
 gnucash_command_line(int *argc, char **argv)
 {
-    int debugging = 0, extra = 0;
-    char *namespace_regexp = NULL;
     const gchar *gconf_path = NULL;
     GError *error = NULL;
     GOptionContext *context;
-    GOptionEntry options[] =
-    {
-        {
-            "version", 'v', 0, G_OPTION_ARG_NONE, &gnucash_show_version,
-            _("Show GnuCash version"), NULL
-        },
 
-        {
-            "debug", '\0', 0, G_OPTION_ARG_NONE, &debugging,
-            _("Enable debugging mode: increasing logging to provide deep detail."), NULL
-        },
 
-        {
-            "extra", '\0', 0, G_OPTION_ARG_NONE, &extra,
-            _("Enable extra/development/debugging features."), NULL
-        },
+    if (args_remaining)
+        file_to_load = args_remaining[0];
 
-        {
-            "log", '\0', 0, G_OPTION_ARG_STRING_ARRAY, &log_flags,
-            _("Log level overrides, of the form \"log.ger.path={debug,info,warn,crit,error}\""),
-            NULL
-        },
-
-        {
-            "logto", '\0', 0, G_OPTION_ARG_STRING, &log_to_filename,
-            _("File to log into; defaults to \"/tmp/gnucash.trace\"; can be \"stderr\" or \"stdout\"."),
-            NULL
-        },
-
-        {
-            "nofile", '\0', 0, G_OPTION_ARG_NONE, &nofile,
-            _("Do not load the last file opened"), NULL
-        },
-        {
-            "gconf-path", '\0', 0, G_OPTION_ARG_STRING, &gconf_path,
-            _("Set the prefix path for gconf queries"),
-            /* Translators: Argument description for autohelp; see
-               http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html */
-            _("GCONFPATH")
-        },
-        {
-            "add-price-quotes", '\0', 0, G_OPTION_ARG_STRING, &add_quotes_file,
-            _("Add price quotes to given GnuCash datafile"),
-            /* Translators: Argument description for autohelp; see
-               http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html */
-            _("FILE")
-        },
-        {
-            "namespace", '\0', 0, G_OPTION_ARG_STRING, &namespace_regexp,
-            _("Regular expression determining which namespace commodities will be retrieved"),
-            /* Translators: Argument description for autohelp; see
-               http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html */
-            _("REGEXP")
-        },
-        { NULL }
-    };
-
-    context = g_option_context_new (" [datafile]");
-    g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
-    g_option_context_add_group (context, gtk_get_option_group (FALSE));
-    if (!g_option_context_parse (context, argc, &argv, &error))
-    {
-        g_warning("Error parsing command line arguments: [%s]; try `gnucash --help` for available options.", error->message);
-        exit(1);
-    }
-    g_option_context_free (context);
-    if (error)
-        g_error_free(error);
-
-    if (*argc > 0)
-        file_to_load = argv[1];
-
     if (gnucash_show_version)
     {
         if (is_development_version)
@@ -535,6 +529,7 @@
         exit(0);
     }
 
+    gnc_set_debugging(debugging);
     gnc_set_extra(extra);
 
     if (!gconf_path)
@@ -547,7 +542,6 @@
     }
 
     gnc_set_gconf_path(g_strdup(gconf_path));
-    gnc_set_debugging(debugging);
 
     if (namespace_regexp)
         gnc_main_set_namespace_regexp(namespace_regexp);
@@ -805,6 +799,8 @@
 int
 main(int argc, char ** argv)
 {
+    GError *error = NULL;
+
 #if !defined(G_THREADS_ENABLED) || defined(G_THREADS_IMPL_NONE)
 #    error "No GLib thread implementation available!"
 #endif
@@ -843,45 +839,38 @@
     qof_log_init();
     qof_log_set_default(QOF_LOG_INFO);
 
-    /* Note: setlocale will also be called later by gtk_init (which gets
-     * invoked by gnome_program_init), but that's too late. The locale
-     * must be properly set before parsing the command line arguments
-     * or filenames may be returned in a charset other than UTF-8 and
-     * not work with other glib calls.
-     */
-    setlocale(LC_ALL, "");
+    gnc_gtk_add_rc_file ();
+    if (!gtk_init_with_args (&argc, &argv,
+            _("- GnuCash personal and small business finance management"),
+            options,
+            GETTEXT_PACKAGE,
+            &error)
+        && !add_quotes_file)
+    {
+        g_printerr(_("%s\nRun '%s --help' to see a full list of available command line options.\n"),
+                   _("Error: could not initialize graphical user interface and option add_price_quotes was not set."),
+                   argv[0]);
+        return 1;
+    }
+    else if (error)
+    {
+        g_printerr (_("%s\nRun '%s --help' to see a full list of available command line options.\n"),
+                    error->message, argv[0]);
+        g_error_free (error);
+        return 1;
+    }
     gnucash_command_line(&argc, argv);
     gnc_print_unstable_message();
 
     gnc_module_system_init();
     gnc_log_init();
 
-
     if (add_quotes_file)
     {
-        gchar *prefix = gnc_path_get_prefix ();
-        gchar *pkgsysconfdir = gnc_path_get_pkgsysconfdir ();
-        gchar *pkgdatadir = gnc_path_get_pkgdatadir ();
-        gchar *pkglibdir = gnc_path_get_pkglibdir ();
-        /* This option needs to run without a display, so we can't
-           initialize any GUI libraries.  */
-        gnome_program_init(
-            PACKAGE, VERSION, LIBGNOME_MODULE,
-            argc, argv,
-            GNOME_PARAM_APP_PREFIX, prefix,
-            GNOME_PARAM_APP_SYSCONFDIR, pkgsysconfdir,
-            GNOME_PARAM_APP_DATADIR, pkgdatadir,
-            GNOME_PARAM_APP_LIBDIR, pkglibdir,
-            GNOME_PARAM_NONE);
-        g_free (prefix);
-        g_free (pkgsysconfdir);
-        g_free (pkgdatadir);
-        g_free (pkglibdir);
         scm_boot_guile(argc, argv, inner_main_add_price_quotes, 0);
         exit(0);  /* never reached */
     }
 
-    gnc_gnome_init (argc, argv, VERSION);
     gnc_gui_init();
     scm_boot_guile(argc, argv, inner_main, 0);
     exit(0); /* never reached */

Modified: gnucash/trunk/src/core-utils/gnc-path.c
===================================================================
--- gnucash/trunk/src/core-utils/gnc-path.c	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/core-utils/gnc-path.c	2012-09-10 19:22:00 UTC (rev 22379)
@@ -42,7 +42,7 @@
 }
 
 /** Returns the libdir path, usually
- * "$prefix/lib". Needed for gnome_program_init().
+ * "$prefix/lib".
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_libdir()
@@ -52,7 +52,7 @@
 }
 
 /** Returns the datadir path, usually
- * "$prefix/share/gnucash". Needed for gnome_program_init().
+ * "$prefix/share/gnucash". Needed for gnc_gnome_locate_*().
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_pkgdatadir()
@@ -78,7 +78,7 @@
 }
 
 /** Returns the sysconfdir path, usually
- * "$prefix/etc/gnucash". Needed for gnome_program_init().
+ * "$prefix/etc/gnucash".
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_pkgsysconfdir()

Modified: gnucash/trunk/src/core-utils/gnc-path.h
===================================================================
--- gnucash/trunk/src/core-utils/gnc-path.h	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/core-utils/gnc-path.h	2012-09-10 19:22:00 UTC (rev 22379)
@@ -26,7 +26,7 @@
 #include <glib.h>
 
 /** Returns the installation prefix path, usually
- * "$prefix". Needed for gnome_program_init().
+ * "$prefix".
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_prefix(void);
@@ -38,13 +38,13 @@
 gchar *gnc_path_get_bindir(void);
 
 /** Returns the libdir path, usually
- * "$prefix/lib". Needed for gnome_program_init(void).
+ * "$prefix/lib".
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_libdir(void);
 
 /** Returns the pkgdatadir path, usually
- * "$prefix/share/gnucash". Needed for gnome_program_init(void).
+ * "$prefix/share/gnucash". Needed for gnc_gnome_locate_*().
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_pkgdatadir(void);
@@ -56,7 +56,7 @@
 gchar *gnc_path_get_pkgdocdir(void);
 
 /** Returns the pkgsysconfdir path, usually
- * "$prefix/etc/gnucash". Needed for gnome_program_init(void).
+ * "$prefix/etc/gnucash".
  *
  * @returns A newly allocated string. */
 gchar *gnc_path_get_pkgsysconfdir(void);

Modified: gnucash/trunk/src/gnome-utils/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/Makefile.am	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/gnome-utils/Makefile.am	2012-09-10 19:22:00 UTC (rev 22379)
@@ -16,7 +16,6 @@
   -I${top_srcdir}/src/libqof/qof \
   ${GLIB_CFLAGS} \
   ${GTK_CFLAGS} \
-  ${GNOME_CFLAGS} \
   ${GCONF_CFLAGS} \
   ${GNOME_KEYRING_CFLAGS} \
   ${GUILE_INCS} \
@@ -199,7 +198,7 @@
   ${top_builddir}/src/app-utils/libgncmod-app-utils.la \
   $(top_builddir)/lib/libc/libc-missing.la \
   ${top_builddir}/src/libqof/qof/libgnc-qof.la \
-  ${GNOME_LIBS} \
+  ${GTK_LIBS} \
   ${GCONF_LIBS} \
   ${GNOME_KEYRING_LIBS} \
   ${GUILE_LIBS} \

Modified: gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c	2012-09-10 19:22:00 UTC (rev 22379)
@@ -23,7 +23,6 @@
 
 #include "config.h"
 
-#include <gnome.h>
 #include <glib/gi18n.h>
 #include <libguile.h>
 #include <gconf/gconf.h>
@@ -62,7 +61,6 @@
 #endif
 
 static QofLogModule log_module = GNC_MOD_GUI;
-static GnomeProgram *gnucash_program = NULL;
 static int gnome_is_running = FALSE;
 static int gnome_is_terminating = FALSE;
 static int gnome_is_initialized = FALSE;
@@ -170,7 +168,7 @@
     }
 }
 
-static void
+void
 gnc_gtk_add_rc_file (void)
 {
     const gchar *var;
@@ -185,116 +183,6 @@
     }
 }
 
-void
-gnc_gnome_init (int argc, char **argv, const char * version)
-{
-    gchar *prefix = gnc_path_get_prefix ();
-    gchar *pkgsysconfdir = gnc_path_get_pkgsysconfdir ();
-    gchar *pkgdatadir = gnc_path_get_pkgdatadir ();
-    gchar *pkglibdir = gnc_path_get_pkglibdir ();
-    gboolean installation_ok = TRUE;
-
-    /* Verify all the various directory before proceeding */
-    if (!g_file_test(pkgdatadir, G_FILE_TEST_IS_DIR))
-    {
-        g_critical("The installation data directory \"%s\" was not found. Your installation is incomplete and cannot be run.", pkgdatadir);
-        installation_ok = FALSE;
-    }
-    if (!g_file_test(pkglibdir, G_FILE_TEST_IS_DIR))
-    {
-        g_critical("The installation lib directory \"%s\" was not found. Your installation is incomplete and cannot be run.", pkglibdir);
-        installation_ok = FALSE;
-    }
-
-    if (!g_file_test(pkgsysconfdir, G_FILE_TEST_IS_DIR))
-    {
-        g_critical("The installation sysconf directory \"%s\" was not found. Your installation is incomplete and cannot be run.", pkgsysconfdir);
-        installation_ok = FALSE;
-    }
-
-    gnc_gtk_add_rc_file();
-    gnucash_program = gnome_program_init(
-                          "gnucash", version, LIBGNOMEUI_MODULE,
-                          argc, argv,
-                          GNOME_PARAM_APP_PREFIX, prefix,
-                          GNOME_PARAM_APP_SYSCONFDIR, pkgsysconfdir,
-                          GNOME_PARAM_APP_DATADIR, pkgdatadir,
-                          GNOME_PARAM_APP_LIBDIR, pkglibdir,
-                          GNOME_PARAM_NONE);
-    if (!installation_ok)
-    {
-        /* The following string does not need translation because if
-         * it shows up, the program is unusable anyway. */
-        gnc_error_dialog(NULL, "The installation directories were not found.\n\ndatadir=%s\nlibdir=%s\nsysconfdir=%s\n\nYour installation is incomplete and cannot be run.",
-                         pkgdatadir, pkglibdir, pkgsysconfdir);
-        /* gnc_error_dialog must not be called before gnome_program_init. */
-    }
-
-    g_free (prefix);
-    g_free (pkgsysconfdir);
-    g_free (pkgdatadir);
-    g_free (pkglibdir);
-
-    /* Did the installation directory check fail? Terminate
-     * immediately because it will inevitably fail in the glade file
-     * lookup. */
-    if (!installation_ok)
-    {
-        /* No correct installation? Shut down immediately. */
-        exit(-1);
-    }
-
-#ifdef G_OS_WIN32
-    /* workaround for bug #421792 */
-    xmlCleanupInputCallbacks();
-#endif
-
-    /* initialization required for gtkhtml (is it also needed for webkit?) */
-    gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
-
-    /* use custom icon */
-    {
-        int idx;
-        char *icon_filenames[] = {"gnucash-icon-16x16.png",
-                                  "gnucash-icon-32x32.png",
-                                  "gnucash-icon-48x48.png",
-                                  NULL
-                                 };
-        GList *icons = NULL;
-        char *fullname;
-
-        for (idx = 0; icon_filenames[idx] != NULL; idx++)
-        {
-            GdkPixbuf *buf = NULL;
-
-            fullname = gnc_filepath_locate_pixmap(icon_filenames[idx]);
-            if (fullname == NULL)
-            {
-                g_warning("couldn't find icon file [%s]", icon_filenames[idx]);
-                continue;
-            }
-
-            buf = gnc_gnome_get_gdkpixbuf(fullname);
-            if (buf == NULL)
-            {
-                g_warning("error loading image from [%s]", fullname);
-                g_free(fullname);
-                continue;
-            }
-            g_free(fullname);
-            icons = g_list_append(icons, buf);
-        }
-
-        gtk_window_set_default_icon_list(icons);
-        g_list_foreach(icons, (GFunc)g_object_unref, NULL);
-        g_list_free(icons);
-    }
-
-    assistant_gconf_install_check_schemas();
-
-    return;
-}
-
 #ifdef MAC_INTEGRATION
 
 /* Don't be alarmed if this function looks strange to you: It's
@@ -659,17 +547,54 @@
 #ifdef MAC_INTEGRATION
     gchar *data_dir;
 #endif
+    int idx;
+    char *icon_filenames[] = {"gnucash-icon-16x16.png",
+                              "gnucash-icon-32x32.png",
+                              "gnucash-icon-48x48.png",
+                              NULL
+                             };
+    GList *icons = NULL;
+    char *fullname;
 
     ENTER ("");
 
     if (gnome_is_initialized)
-    {
         return main_window;
+
+    /* use custom icon */
+    for (idx = 0; icon_filenames[idx] != NULL; idx++)
+    {
+        GdkPixbuf *buf = NULL;
+
+        fullname = gnc_filepath_locate_pixmap(icon_filenames[idx]);
+        if (fullname == NULL)
+        {
+            g_warning("couldn't find icon file [%s]", icon_filenames[idx]);
+            continue;
+        }
+
+        buf = gnc_gnome_get_gdkpixbuf(fullname);
+        if (buf == NULL)
+        {
+            g_warning("error loading image from [%s]", fullname);
+            g_free(fullname);
+            continue;
+        }
+        g_free(fullname);
+        icons = g_list_append(icons, buf);
     }
 
+    gtk_window_set_default_icon_list(icons);
+    g_list_foreach(icons, (GFunc)g_object_unref, NULL);
+    g_list_free(icons);
+
+    /* initialization required for gtkhtml (is it also needed for webkit?) */
+    gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
+
     g_set_application_name(PACKAGE_NAME);
 
     gnc_show_splash_screen();
+    assistant_gconf_install_check_schemas();
 
     gnome_is_initialized = TRUE;
 

Modified: gnucash/trunk/src/gnome-utils/gnc-gnome-utils.h
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-gnome-utils.h	2012-09-10 19:21:49 UTC (rev 22378)
+++ gnucash/trunk/src/gnome-utils/gnc-gnome-utils.h	2012-09-10 19:22:00 UTC (rev 22379)
@@ -37,8 +37,10 @@
 
 #include <gnc-main-window.h>
 
-/** Initialize the Gnome libraries. */
-void gnc_gnome_init (int argc, char **argv, const char * version);
+/** Load a gtk resource configuration file to customize gtk
+ *  appearance and behviour.
+ */
+void gnc_gtk_add_rc_file (void);
 
 /** Launch the default gnome help browser and open to a given link
  *  within a given file.  This routine will display an error message
@@ -86,6 +88,8 @@
  */
 void gnc_shutdown (int exit_status);
 
+
+/** Initialize the gnucash gui */
 GncMainWindow *gnc_gui_init (void);
 int gnc_ui_start_event_loop (void);
 gboolean gnucash_ui_is_running (void);



More information about the gnucash-changes mailing list