summaryrefslogtreecommitdiff
path: root/src/GipfelWidget.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/GipfelWidget.cxx')
-rw-r--r--src/GipfelWidget.cxx13
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);