[Gnucash-changes] Move one function out of window-main.c.

David Hampton hampton at cvs.gnucash.org
Fri Jun 3 02:44:13 EDT 2005


Log Message:
-----------
Move one function out of window-main.c.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash/src/gnome:
        gnc-main-window.c
        gnc-main-window.h

Revision Data
-------------
Index: gnc-main-window.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/Attic/gnc-main-window.h,v
retrieving revision 1.1.2.12
retrieving revision 1.1.2.13
diff -Lsrc/gnome/gnc-main-window.h -Lsrc/gnome/gnc-main-window.h -u -r1.1.2.12 -r1.1.2.13
--- src/gnome/gnc-main-window.h
+++ src/gnome/gnc-main-window.h
@@ -96,6 +96,8 @@
 
 void            gnc_main_window_set_progressbar_window( GncMainWindow *window );
 
+void            gnc_shutdown (int exit_status);
+
 G_END_DECLS
 
 #endif /* __GNC_MAIN_WINDOW_H */
Index: gnc-main-window.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/Attic/gnc-main-window.c,v
retrieving revision 1.1.2.41
retrieving revision 1.1.2.42
diff -Lsrc/gnome/gnc-main-window.c -Lsrc/gnome/gnc-main-window.c -u -r1.1.2.41 -r1.1.2.42
--- src/gnome/gnc-main-window.c
+++ src/gnome/gnc-main-window.c
@@ -53,7 +53,6 @@
 #include "gnc-ui.h"
 #include "gnc-version.h"
 #include "gnc-window.h"
-#include "window-main.h"
 #include "messages.h"
 #include "druid-merge.h"
 #include "dialog-chart-export.h"
@@ -1493,3 +1492,27 @@
   gncwin = GNC_WINDOW(window);
   gnc_window_set_progressbar_window(gncwin);
 }
+
+/********************************************************************
+ * gnc_shutdown
+ * close down gnucash from the C side...
+ ********************************************************************/
+void
+gnc_shutdown (int exit_status)
+{
+  /*SCM scm_shutdown = gnc_scm_lookup("gnucash bootstrap", "gnc:shutdown");*/
+  SCM scm_shutdown = scm_c_eval_string("gnc:shutdown");
+
+  if(scm_procedure_p(scm_shutdown) != SCM_BOOL_F)
+  {
+    SCM scm_exit_code = scm_long2num(exit_status);    
+    scm_call_1(scm_shutdown, scm_exit_code);
+  }
+  else
+  {
+    /* Either guile is not running, or for some reason we
+       can't find gnc:shutdown. Either way, just exit. */
+    g_warning("couldn't find gnc:shutdown -- exiting anyway.");
+    exit(exit_status);
+  }
+}


More information about the gnucash-changes mailing list