diff --git a/app/widgets/gimpcolordialog.c b/app/widgets/gimpcolordialog.c index adbe20328e..d00430485f 100644 --- a/app/widgets/gimpcolordialog.c +++ b/app/widgets/gimpcolordialog.c @@ -281,6 +281,8 @@ gimp_color_dialog_finalize (GObject *object) GimpColorDialog *dialog = GIMP_COLOR_DIALOG (object); GimpViewableDialog *viewable_dialog = GIMP_VIEWABLE_DIALOG (dialog); + g_clear_weak_pointer (&dialog->active_image); + if (dialog->user_context_aware && viewable_dialog->context) { GimpContext *user_context = viewable_dialog->context->gimp->user_context; diff --git a/app/widgets/gimpcoloreditor.c b/app/widgets/gimpcoloreditor.c index fb856584bc..b3dc84d44b 100644 --- a/app/widgets/gimpcoloreditor.c +++ b/app/widgets/gimpcoloreditor.c @@ -322,6 +322,10 @@ gimp_color_editor_dispose (GObject *object) { GimpColorEditor *editor = GIMP_COLOR_EDITOR (object); + g_clear_weak_pointer (&editor->active_display); + g_clear_weak_pointer (&editor->active_image); + g_clear_weak_pointer (&editor->active_shell); + if (editor->context) gimp_docked_set_context (GIMP_DOCKED (editor), NULL);