QIF import/report memory mgmt patch

Bill Gribble grib@gnumatic.com
Thu, 1 Feb 2001 18:30:42 -0600


>From the ChangeLog:

	* src/gnome/gnc-html-history.{h,c}: add destroy callback. part of
	report memory management cleanup

	* src/gnome/window-report.c: set report dirty flag when options
	apply or reload is clicked.  Store report object in window 
	struct while it's visible. 

	* src/scm/qif-import/qif-file.scm: expand detection of opening
	balance transactions.  

	* src/scm/qif-import/qif-parse.scm: fix regexp bug in miscincx and
	miscexpx category parsing (thanks carol!)

	* src/scm/qif-import/qif-to-gnc.scm: use correct amount for
	non-stock investment transactions (dividends etc).  Use fuzzy
	equality predicate for inexact numbers.

	* src/scm/report.scm: Add dirty flag and 'children' (other reports
	created by this report... nobody uses it yet) to report struct.
	Add function to clean up report when it's erased from the window
	history.  Add some debugging timing bits to the report-run
	function.  Display cached HTML if not dirty.   

	* src/scm/report.scm: WARNING! Change prototype of report
	rendering functions... they take a <report> object as argument
	instead of an options object.  This is necessary for memory
	management stuff when reports create other reports.

	* src/scm/report/account-summary.scm: fix to use new renderer
	signature

	* src/scm/report/average-balance.scm: fix to use new renderer
	signature

	* src/scm/report/hello-world.scm: fix to use new renderer
	signature

b.g.

begin 664 gnucash-20010201-182413-grib.diff.gz
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
$'J@`````
`
end