All pastes #838238 Raw Edit

Untitled

public text v1 · immutable
#838238 ·published 2007-12-30 06:51 UTC
rendered paste body
Index: /gnucash/trunk/src/report/report-system/commodity-utilities.scm
===================================================================
--- /gnucash/trunk/src/report/report-system/commodity-utilities.scm (revision 15647)
+++ /gnucash/trunk/src/report/report-system/commodity-utilities.scm (revision 16651)
@@ -829,6 +829,17 @@
 			(gnc:exchange-by-pricedb-nearest
 			 foreign domestic to-date-tp)))
-    (else (gnc:warn "gnc:case-exchange-fn: bad price-source value: " 
-                    source-option))))
+    (else 
+     (begin
+       ;; FIX-ME 
+       ;; this is a hack to prevent report crashing if a report
+       ;; implements source-options that aren't fully implemented. We
+       ;; return a reasonably sane fallback function: nearest.
+       ;;
+       ;; known to be missing: pricedb-latest-before
+       (gnc:warn "gnc:case-exchange-fn: bad price-source value: " 
+                    source-option " using pricedb-nearest.")
+       (lambda (foreign domestic)
+	 (gnc:exchange-by-pricedb-nearest
+	  foreign domestic to-date-tp))))))
 
 ;; Return a ready-to-use function. Which one to use is determined by
@@ -859,6 +870,12 @@
 		       (gnc:exchange-by-pricedb-latest foreign domestic)))
     ((pricedb-nearest) gnc:exchange-by-pricedb-nearest)
-    (else (gnc:warn "gnc:case-exchange-time-fn: bad price-source value: " 
-                    source-option))))
+    (else 
+     (begin
+       (gnc:warn "gnc:case-exchange-time-fn: bad price-source value: " 
+                    source-option " using pricedb-nearest.")
+       ;; FIX-ME another hack to prevent report crashing when an
+       ;; unimplemented source-option comes through
+       gnc:exchange-by-pricedb-nearest
+       ))))