[Gnucash-changes] r12985 - gnucash/trunk/src/gnome-utils - Avoid saving invalid pages.

Chris Shoemaker chris at cvs.gnucash.org
Thu Jan 26 23:38:48 EST 2006


Author: chris
Date: 2006-01-26 23:38:47 -0500 (Thu, 26 Jan 2006)
New Revision: 12985
Trac: http://svn.gnucash.org/trac/changeset/12985

Modified:
   gnucash/trunk/src/gnome-utils/gnc-main-window.c
Log:
   Avoid saving invalid pages.


Modified: gnucash/trunk/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-main-window.c	2006-01-27 02:12:41 UTC (rev 12984)
+++ gnucash/trunk/src/gnome-utils/gnc-main-window.c	2006-01-27 04:38:47 UTC (rev 12985)
@@ -654,16 +654,20 @@
 gnc_main_window_save_page (GncPluginPage *page, GncMainWindowSaveData *data)
 {
   gchar *page_group;
+  const gchar *plugin_name, *page_name;
 
   ENTER("page %p, data %p (key file %p, window %d, page %d)",
 	page, data, data->key_file, data->window_num, data->page_num);
+  plugin_name = gnc_plugin_page_get_plugin_name(page);
+  page_name = gnc_plugin_page_get_page_name(page);
+  if (!plugin_name || !page_name) {
+      LEAVE("not saving invalid page");
+      return;
+  }
   page_group = g_strdup_printf(PAGE_STRING, data->page_num++);
-  g_key_file_set_string(data->key_file, page_group, PAGE_TYPE,
-			GNC_PLUGIN_PAGE_GET_CLASS(page)->plugin_name);
+  g_key_file_set_string(data->key_file, page_group, PAGE_TYPE, plugin_name);
+  g_key_file_set_string(data->key_file, page_group, PAGE_NAME, page_name);
 
-  g_key_file_set_string(data->key_file, page_group, PAGE_NAME,
-			gnc_plugin_page_get_page_name(page));
-
   gnc_plugin_page_save_page(page, data->key_file, page_group);
   g_free(page_group);
   LEAVE(" ");



More information about the gnucash-changes mailing list