[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