- g_signal_handler_disconnect(sat->viewer, sat->sigid);
- grits_viewer_remove(sat->viewer, GRITS_OBJECT(sat->tiles));
+ GritsViewer *viewer = sat->viewer;
+ sat->viewer = NULL;
+ g_signal_handler_disconnect(viewer, sat->sigid);
+ grits_viewer_remove(viewer, GRITS_OBJECT(sat->tiles));