[Gnucash-changes] r13666 - gnucash/trunk - Correct SX editor and Since Last Run dialog to close their register plugin pages instead of only the ledgers. Fix 334627.

Andreas Koehler andi5 at cvs.gnucash.org
Sat Mar 18 10:05:33 EST 2006


Author: andi5
Date: 2006-03-18 10:05:33 -0500 (Sat, 18 Mar 2006)
New Revision: 13666
Trac: http://svn.gnucash.org/trac/changeset/13666

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/src/gnome-utils/gnc-embedded-window.c
   gnucash/trunk/src/gnome/dialog-scheduledxaction.c
   gnucash/trunk/src/gnome/dialog-sxsincelast.c
Log:
Correct SX editor and Since Last Run dialog to close their register plugin pages instead of only the ledgers. Fix 334627.


Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-03-18 11:17:13 UTC (rev 13665)
+++ gnucash/trunk/ChangeLog	2006-03-18 15:05:33 UTC (rev 13666)
@@ -1,3 +1,11 @@
+2006-03-18  Andreas Köhler  <andi5.py at gmx.net>
+
+	* src/gnome-utils/gnc-embedded-window.c:
+	* src/gnome/dialog-sxsincelast.c:
+	* src/gnome/dialog-scheduledxaction.c: Correct SX editor and Since
+	  Last Run dialog to close their register plugin pages instead of
+	  only the ledgers. Fix 334627.
+
 2006-03-18  Christian Stimming  <stimming at tuhh.de>
 
 	* src/scm/doc.scm, src/scm/main.scm: Comment out

Modified: gnucash/trunk/src/gnome/dialog-scheduledxaction.c
===================================================================
--- gnucash/trunk/src/gnome/dialog-scheduledxaction.c	2006-03-18 11:17:13 UTC (rev 13665)
+++ gnucash/trunk/src/gnome/dialog-scheduledxaction.c	2006-03-18 15:05:33 UTC (rev 13666)
@@ -1169,9 +1169,10 @@
         }
         sxed->sx = NULL;
 
-        /* We don't need to deal with the ledger, as the gncRegWidget will do
-         * so for us. [Is this still true?? -- jsled] */
-        gnc_ledger_display_close( sxed->ledger );
+        gnc_embedded_window_close_page(sxed->embed_window, sxed->plugin_page);
+        gtk_widget_destroy(GTK_WIDGET(sxed->embed_window));
+        sxed->embed_window = NULL;
+        sxed->plugin_page = NULL;
         sxed->ledger = NULL;
 
         g_free (sxed->sxGUIDstr);

Modified: gnucash/trunk/src/gnome/dialog-sxsincelast.c
===================================================================
--- gnucash/trunk/src/gnome/dialog-sxsincelast.c	2006-03-18 11:17:13 UTC (rev 13665)
+++ gnucash/trunk/src/gnome/dialog-sxsincelast.c	2006-03-18 15:05:33 UTC (rev 13666)
@@ -2383,13 +2383,24 @@
         /* appropriate place to destroy data structures */
         clean_sincelast_data( sxsld );
 
-        gnc_ledger_display_close( sxsld->ac_ledger );
+        gnc_embedded_window_close_page(sxsld->ac_window, sxsld->ac_register);
+        gtk_widget_destroy(GTK_WIDGET(sxsld->ac_window));
+        sxsld->ac_window = NULL;
+        sxsld->ac_register = NULL;
         sxsld->ac_ledger = NULL;
 
-        gnc_ledger_display_close( sxsld->created_ledger );
+        gnc_embedded_window_close_page(sxsld->created_window,
+                                       sxsld->created_register);
+        gtk_widget_destroy(GTK_WIDGET(sxsld->created_window));
+        sxsld->created_window = NULL;
+        sxsld->created_register = NULL;
         sxsld->created_ledger = NULL;
 
-        gnc_ledger_display_close( sxsld->to_create_ledger );
+        gnc_embedded_window_close_page(sxsld->to_create_window,
+                                       sxsld->to_create_register);
+        gtk_widget_destroy(GTK_WIDGET(sxsld->to_create_window));
+        sxsld->to_create_window = NULL;
+        sxsld->to_create_register = NULL;
         sxsld->to_create_ledger = NULL;
 
         gnc_unregister_gui_component_by_data( DIALOG_SXSINCELAST_CM_CLASS,

Modified: gnucash/trunk/src/gnome-utils/gnc-embedded-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-embedded-window.c	2006-03-18 11:17:13 UTC (rev 13665)
+++ gnucash/trunk/src/gnome-utils/gnc-embedded-window.c	2006-03-18 15:05:33 UTC (rev 13666)
@@ -163,14 +163,15 @@
   ENTER("window %p, page %p", window, page);
   g_return_if_fail (GNC_IS_EMBEDDED_WINDOW (window));
   g_return_if_fail (GNC_IS_PLUGIN_PAGE (page));
+  priv = GNC_EMBEDDED_WINDOW_GET_PRIVATE(window);
+  g_return_if_fail (priv->page == page);
 
   if (!page->notebook_page) {
     LEAVE("no displayed widget");
     return;
   }
 
-  priv = GNC_EMBEDDED_WINDOW_GET_PRIVATE(window);
-  gtk_container_remove (GTK_CONTAINER(window), GTK_WIDGET(priv->page));
+  gtk_container_remove (GTK_CONTAINER(window), GTK_WIDGET(page->notebook_page));
   priv->page = NULL;
   gnc_plugin_page_removed (page);
 



More information about the gnucash-changes mailing list