[gimp] app: make active_image member a weak pointer in GimpColorDialog.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: make active_image member a weak pointer in GimpColorDialog.
- Date: Mon, 18 Mar 2019 22:37:42 +0000 (UTC)
commit 3dc820c01788b3fbb5764ecc021375f628107bc6
Author: Jehan <jehan girinstud io>
Date: Mon Mar 18 23:35:53 2019 +0100
app: make active_image member a weak pointer in GimpColorDialog.
This fixes signal handler disconnections wrongly run on images which
have already been freed.
app/widgets/gimpcolordialog.c | 4 ++++
1 file changed, 4 insertions(+)
---
diff --git a/app/widgets/gimpcolordialog.c b/app/widgets/gimpcolordialog.c
index e721e8415d..918dbfb0aa 100644
--- a/app/widgets/gimpcolordialog.c
+++ b/app/widgets/gimpcolordialog.c
@@ -702,6 +702,8 @@ gimp_color_dialog_image_changed (GimpContext *context,
{
if (dialog->active_image)
{
+ g_object_remove_weak_pointer (G_OBJECT (dialog->active_image),
+ (gpointer) &dialog->active_image);
g_signal_handlers_disconnect_by_func (dialog->active_image,
G_CALLBACK (gimp_color_dialog_update),
dialog);
@@ -709,6 +711,8 @@ gimp_color_dialog_image_changed (GimpContext *context,
dialog->active_image = image;
if (image)
{
+ g_object_add_weak_pointer (G_OBJECT (dialog->active_image),
+ (gpointer) &dialog->active_image);
g_signal_connect_swapped (image, "notify::base-type",
G_CALLBACK (gimp_color_dialog_update),
dialog);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]