mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-24 09:50:54 -06:00
Bug 799148 - Reliable crash when saving a modified saved report...
configuration. The user's saved configurations included some based on a bad report-id, so handle the hash table returning #f by skipping that configuration. There's an odd side-effect: The Save Configuration As action doesn't prepare the dialog to edit the saved configuration name, the user must find the new configuration and rename it. It works correctly if there are no discarded configurations.
This commit is contained in:
parent
1da2464577
commit
9d15e70ce2
@ -645,11 +645,14 @@ not found.")))
|
||||
(define (gnc:report-template-serialize report-template)
|
||||
(let* ((name (gnc:report-template-name report-template))
|
||||
(type (gnc:report-template-parent-type report-template))
|
||||
(templ-name (gnc:report-template-name
|
||||
(hash-ref *gnc:_report-templates_* type)))
|
||||
(options (gnc:report-template-new-options report-template))
|
||||
(guid (gnc:report-template-report-guid report-template)))
|
||||
(gnc:report-template-serialize-internal name type templ-name options guid)))
|
||||
(tmpl (hash-ref *gnc:_report-templates_* type)))
|
||||
(cond
|
||||
((not tmpl) (gnc:warn "gnc:report-template-serialize: cannot find template for " type) #f)
|
||||
(else
|
||||
(let ((templ-name (gnc:report-template-name tmpl))
|
||||
(options (gnc:report-template-new-options report-template))
|
||||
(guid (gnc:report-template-report-guid report-template)))
|
||||
(gnc:report-template-serialize-internal name type templ-name options guid))))))
|
||||
|
||||
;; Convert a report into a report template and save this template in the savefile
|
||||
;; Under specific conditions the we will attempt to replace the current report's
|
||||
@ -712,7 +715,7 @@ not found.")))
|
||||
|
||||
(define (gnc:report-template-save-to-savefile report-template)
|
||||
(let ((saved-form (gnc:report-template-serialize report-template)))
|
||||
(gnc-saved-reports-write-to-file saved-form #f)))
|
||||
(and saved-form (gnc-saved-reports-write-to-file saved-form #f))))
|
||||
|
||||
;; save all custom reports, moving the old version of the
|
||||
;; saved-reports file aside as a backup
|
||||
|
Loading…
Reference in New Issue
Block a user