diff options
Diffstat (limited to 'src/GipfelWidget.cxx')
-rw-r--r-- | src/GipfelWidget.cxx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/GipfelWidget.cxx b/src/GipfelWidget.cxx index 7abb1dd..2563d73 100644 --- a/src/GipfelWidget.cxx +++ b/src/GipfelWidget.cxx @@ -107,8 +107,13 @@ GipfelWidget::load_image(char *file) { load_distortion_params(buf); if (isnan(pan->parms.k0)) { pan->parms.k0 = 0.0; + } + if (isnan(pan->parms.k1)) { pan->parms.k1 = 0.0; } + if (isnan(pan->parms.x0)) { + pan->parms.x0 = 0.0; + } } return 0; @@ -832,9 +837,15 @@ GipfelWidget::load_distortion_params(const char *prof_name) { } int -GipfelWidget::save_distortion_params(const char *prof_name) { +GipfelWidget::save_distortion_params(const char *prof_name, int force) { + int dummy; Fl_Preferences prof(dist_prefs, prof_name); + + if (!force && (prof.get("k0", dummy, 0) == 0)) { + return 1; + } + prof.set("k0", pan->parms.k0); prof.set("k1", pan->parms.k1); prof.set("x0", pan->parms.x0); |