X-Git-Url: http://pileus.org/git/?p=aweather;a=blobdiff_plain;f=src%2Fplugins%2Fradar.c;h=94b18c6cbc613e602ba9d0f75af196b67f5f9733;hp=d9b322ffbefe9804bd8338c6861f1239f5739e04;hb=ba4b91f8cb014e34b496070aeb806415c363434f;hpb=79e4dddff0c033c62d92bc2e189d522942196085 diff --git a/src/plugins/radar.c b/src/plugins/radar.c index d9b322f..94b18c6 100644 --- a/src/plugins/radar.c +++ b/src/plugins/radar.c @@ -777,9 +777,13 @@ static void grits_plugin_radar_dispose(GObject *gobject) { g_debug("GritsPluginRadar: dispose"); GritsPluginRadar *self = GRITS_PLUGIN_RADAR(gobject); - g_signal_handler_disconnect(self->config, self->tab_id); - grits_viewer_remove(self->viewer, GRITS_OBJECT(self->hud)); - radar_conus_free(self->conus); + if (self->viewer) { + GritsViewer *viewer = self->viewer; + self->viewer = NULL; + g_signal_handler_disconnect(self->config, self->tab_id); + grits_viewer_remove(viewer, GRITS_OBJECT(self->hud)); + radar_conus_free(self->conus); + } /* Drop references */ G_OBJECT_CLASS(grits_plugin_radar_parent_class)->dispose(gobject); }