aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dw-hdfsee.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/dw-hdfsee.c b/src/dw-hdfsee.c
index f66f37b5..004c92ae 100644
--- a/src/dw-hdfsee.c
+++ b/src/dw-hdfsee.c
@@ -1987,7 +1987,8 @@ static int curr_rg_pointer_index(DisplayWindow *dw)
}
/* Never reached (we hope) */
- return 999;
+ ERROR("Failed to find index for rg!\n");
+ return 0;
}
static int curr_p_pointer_index(DisplayWindow *dw)
@@ -2001,28 +2002,33 @@ static int curr_p_pointer_index(DisplayWindow *dw)
}
/* Never reached (we hope) */
- return 999;
+ ERROR("Failed to find index for panel!\n");
+ return 0;
}
-static void select_next_group(DisplayWindow *dw, int num_rg)
+static void select_next_group(DisplayWindow *dw)
{
- if ( dw->calib_mode_curr_rg == dw->rg_coll->rigid_groups[num_rg-1] ) {
+ int idx = curr_rg_pointer_index(dw);
+ int n_rgs = dw->rg_coll->n_rigid_groups;
+
+ if ( idx == n_rgs-1 ) {
dw->calib_mode_curr_rg = dw->rg_coll->rigid_groups[0];
} else {
- dw->calib_mode_curr_rg =
- dw->rg_coll->rigid_groups[curr_rg_pointer_index(dw)+1];
+ dw->calib_mode_curr_rg = dw->rg_coll->rigid_groups[idx+1];
}
}
-static void select_prev_group(DisplayWindow *dw, int num_rg)
+static void select_prev_group(DisplayWindow *dw)
{
- if ( dw->calib_mode_curr_rg == dw->rg_coll->rigid_groups[0] ) {
- dw->calib_mode_curr_rg = dw->rg_coll->rigid_groups[num_rg-1];
+ int idx = curr_rg_pointer_index(dw);
+ int n_rgs = dw->rg_coll->n_rigid_groups;
+
+ if ( idx == 0 ) {
+ dw->calib_mode_curr_rg = dw->rg_coll->rigid_groups[n_rgs-1];
} else {
- dw->calib_mode_curr_rg =
- dw->rg_coll->rigid_groups[curr_rg_pointer_index(dw)-1];
+ dw->calib_mode_curr_rg = dw->rg_coll->rigid_groups[idx-1];
}
}
@@ -2113,8 +2119,7 @@ static void calibmode_next(GtkWidget *widget, DisplayWindow *dw)
break;
case CALIBMODE_GROUPS:
- n = dw->image->det->n_rigid_groups;
- select_next_group(dw, n);
+ select_next_group(dw);
break;
case CALIBMODE_ALL:
@@ -2141,7 +2146,7 @@ static void calibmode_prev(GtkWidget *widget, DisplayWindow *dw)
case CALIBMODE_GROUPS:
n = dw->image->det->n_rigid_groups;
- select_prev_group(dw, n);
+ select_prev_group(dw);
break;
case CALIBMODE_ALL: