diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dw-hdfsee.c | 11 | ||||
-rw-r--r-- | src/dw-hdfsee.h | 1 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/dw-hdfsee.c b/src/dw-hdfsee.c index c4149cd4..ef576394 100644 --- a/src/dw-hdfsee.c +++ b/src/dw-hdfsee.c @@ -934,6 +934,11 @@ static gint displaywindow_newevent(DisplayWindow *dw, int new_event) float **old_dp = dw->image->dp; int **old_bad = dw->image->bad; + if ( dw->image->det != NULL ) { + free_detector_geometry(dw->image->det); + } + + dw->image->det = copy_geom(dw->original_geom); fail = imagefile_read(dw->imagefile, dw->image, dw->ev_list->events[new_event]); if ( fail ) { @@ -2869,7 +2874,8 @@ static gint displaywindow_keypress(GtkWidget *widget, GdkEventKey *event, case GDK_Right: case GDK_KP_Right: calibmode_right(dw); - redraw_window(dw); break; + redraw_window(dw); + break; case GDK_KP_Add: calibmode_next(NULL, dw); @@ -2994,7 +3000,8 @@ DisplayWindow *displaywindow_open(char *filename, char *geom_filename, dw->rg_coll_name = NULL; } - dw->image->det = det_geom; + dw->original_geom = det_geom; + dw->image->det = copy_geom(det_geom); dw->image->beam = beam; dw->image->lambda = 0.0; dw->image->filename = filename; diff --git a/src/dw-hdfsee.h b/src/dw-hdfsee.h index 85fa288f..a7871654 100644 --- a/src/dw-hdfsee.h +++ b/src/dw-hdfsee.h @@ -96,6 +96,7 @@ typedef struct { GdkPixbuf **pixbufs; gulong motion_callback; cairo_surface_t *surf; + struct detector *original_geom; int not_ready_yet; |