[gimp] libgimpwidgets: add GDestroyNotify to gimp_widget_track_monitor()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimpwidgets: add GDestroyNotify to gimp_widget_track_monitor()
- Date: Wed, 7 Aug 2019 21:45:45 +0000 (UTC)
commit 1afb7a8b32eb00e15cb3fdb9fd6c966d1dc99a56
Author: Michael Natterer <mitch gimp org>
Date: Wed Aug 7 23:44:18 2019 +0200
libgimpwidgets: add GDestroyNotify to gimp_widget_track_monitor()
app/widgets/gimpcontainertreeview.c | 2 +-
app/widgets/gimpfgbgeditor.c | 2 +-
app/widgets/gimpfgbgview.c | 2 +-
app/widgets/gimpview.c | 2 +-
libgimpwidgets/gimpcolorarea.c | 2 +-
libgimpwidgets/gimpcolorscale.c | 2 +-
libgimpwidgets/gimppreviewarea.c | 2 +-
libgimpwidgets/gimpwidgetsutils.c | 14 ++++++++++----
libgimpwidgets/gimpwidgetsutils.h | 3 ++-
modules/color-selector-water.c | 2 +-
modules/gimpcolorwheel.c | 2 +-
11 files changed, 21 insertions(+), 14 deletions(-)
---
diff --git a/app/widgets/gimpcontainertreeview.c b/app/widgets/gimpcontainertreeview.c
index ca44847ec6..fd49e8538d 100644
--- a/app/widgets/gimpcontainertreeview.c
+++ b/app/widgets/gimpcontainertreeview.c
@@ -230,7 +230,7 @@ gimp_container_tree_view_init (GimpContainerTreeView *tree_view)
gimp_widget_track_monitor (GTK_WIDGET (tree_view),
G_CALLBACK (gimp_container_tree_view_monitor_changed),
- NULL);
+ NULL, NULL);
}
static void
diff --git a/app/widgets/gimpfgbgeditor.c b/app/widgets/gimpfgbgeditor.c
index ebf4d14f93..278d9e6add 100644
--- a/app/widgets/gimpfgbgeditor.c
+++ b/app/widgets/gimpfgbgeditor.c
@@ -195,7 +195,7 @@ gimp_fg_bg_editor_init (GimpFgBgEditor *editor)
gimp_widget_track_monitor (GTK_WIDGET (editor),
G_CALLBACK (gimp_fg_bg_editor_destroy_transform),
- NULL);
+ NULL, NULL);
gtk_widget_set_size_request (GTK_WIDGET (editor), 32, 24);
}
diff --git a/app/widgets/gimpfgbgview.c b/app/widgets/gimpfgbgview.c
index 845e2d26e6..fe0d0d6ea8 100644
--- a/app/widgets/gimpfgbgview.c
+++ b/app/widgets/gimpfgbgview.c
@@ -98,7 +98,7 @@ gimp_fg_bg_view_init (GimpFgBgView *view)
gimp_widget_track_monitor (GTK_WIDGET (view),
G_CALLBACK (gimp_fg_bg_view_destroy_transform),
- NULL);
+ NULL, NULL);
}
static void
diff --git a/app/widgets/gimpview.c b/app/widgets/gimpview.c
index 19c9b42720..57467a9d7a 100644
--- a/app/widgets/gimpview.c
+++ b/app/widgets/gimpview.c
@@ -190,7 +190,7 @@ gimp_view_init (GimpView *view)
gimp_widget_track_monitor (GTK_WIDGET (view),
G_CALLBACK (gimp_view_monitor_changed),
- NULL);
+ NULL, NULL);
}
static void
diff --git a/libgimpwidgets/gimpcolorarea.c b/libgimpwidgets/gimpcolorarea.c
index 7ee12c72b6..1f4b87ed37 100644
--- a/libgimpwidgets/gimpcolorarea.c
+++ b/libgimpwidgets/gimpcolorarea.c
@@ -258,7 +258,7 @@ gimp_color_area_init (GimpColorArea *area)
gimp_widget_track_monitor (GTK_WIDGET (area),
G_CALLBACK (gimp_color_area_destroy_transform),
- NULL);
+ NULL, NULL);
}
static void
diff --git a/libgimpwidgets/gimpcolorscale.c b/libgimpwidgets/gimpcolorscale.c
index 017508cdeb..67770e147b 100644
--- a/libgimpwidgets/gimpcolorscale.c
+++ b/libgimpwidgets/gimpcolorscale.c
@@ -183,7 +183,7 @@ gimp_color_scale_init (GimpColorScale *scale)
gimp_widget_track_monitor (GTK_WIDGET (scale),
G_CALLBACK (gimp_color_scale_destroy_transform),
- NULL);
+ NULL, NULL);
css = gtk_css_provider_new ();
gtk_css_provider_load_from_data (css,
diff --git a/libgimpwidgets/gimppreviewarea.c b/libgimpwidgets/gimppreviewarea.c
index 12419d9067..a2ef669de1 100644
--- a/libgimpwidgets/gimppreviewarea.c
+++ b/libgimpwidgets/gimppreviewarea.c
@@ -162,7 +162,7 @@ gimp_preview_area_init (GimpPreviewArea *area)
gimp_widget_track_monitor (GTK_WIDGET (area),
G_CALLBACK (gimp_preview_area_destroy_transform),
- NULL);
+ NULL, NULL);
}
static void
diff --git a/libgimpwidgets/gimpwidgetsutils.c b/libgimpwidgets/gimpwidgetsutils.c
index 3c262bca2d..3c0478f284 100644
--- a/libgimpwidgets/gimpwidgetsutils.c
+++ b/libgimpwidgets/gimpwidgetsutils.c
@@ -434,9 +434,10 @@ track_monitor_hierarchy_changed (GtkWidget *widget,
* Since: 2.10
**/
void
-gimp_widget_track_monitor (GtkWidget *widget,
- GCallback monitor_changed_callback,
- gpointer user_data)
+gimp_widget_track_monitor (GtkWidget *widget,
+ GCallback monitor_changed_callback,
+ gpointer user_data,
+ GDestroyNotify user_data_destroy)
{
TrackMonitorData *track_data;
GtkWidget *toplevel;
@@ -450,7 +451,12 @@ gimp_widget_track_monitor (GtkWidget *widget,
track_data->callback = (MonitorChangedCallback) monitor_changed_callback;
track_data->user_data = user_data;
- g_object_weak_ref (G_OBJECT (widget), (GWeakNotify) g_free, track_data);
+ g_object_weak_ref (G_OBJECT (widget), (GWeakNotify) g_free,
+ track_data);
+
+ if (user_data_destroy)
+ g_object_weak_ref (G_OBJECT (widget), (GWeakNotify) user_data_destroy,
+ user_data);
g_signal_connect (widget, "hierarchy-changed",
G_CALLBACK (track_monitor_hierarchy_changed),
diff --git a/libgimpwidgets/gimpwidgetsutils.h b/libgimpwidgets/gimpwidgetsutils.h
index 3a4b8c9ff2..d126d03ba2 100644
--- a/libgimpwidgets/gimpwidgetsutils.h
+++ b/libgimpwidgets/gimpwidgetsutils.h
@@ -47,7 +47,8 @@ GdkMonitor * gimp_get_monitor_at_pointer (void);
void gimp_widget_track_monitor (GtkWidget *widget,
GCallback monitor_changed_callback,
- gpointer user_data);
+ gpointer user_data,
+ GDestroyNotify user_data_destroy);
GimpColorProfile * gimp_monitor_get_color_profile (GdkMonitor *monitor);
GimpColorProfile * gimp_widget_get_color_profile (GtkWidget *widget);
diff --git a/modules/color-selector-water.c b/modules/color-selector-water.c
index a5809cc5f4..dd62cde611 100644
--- a/modules/color-selector-water.c
+++ b/modules/color-selector-water.c
@@ -202,7 +202,7 @@ colorsel_water_init (ColorselWater *water)
gimp_widget_track_monitor (GTK_WIDGET (water),
G_CALLBACK (colorsel_water_destroy_transform),
- NULL);
+ NULL, NULL);
}
static gdouble
diff --git a/modules/gimpcolorwheel.c b/modules/gimpcolorwheel.c
index b11baea3d0..a7652376e3 100644
--- a/modules/gimpcolorwheel.c
+++ b/modules/gimpcolorwheel.c
@@ -242,7 +242,7 @@ gimp_color_wheel_init (GimpColorWheel *wheel)
gimp_widget_track_monitor (GTK_WIDGET (wheel),
G_CALLBACK (gimp_color_wheel_destroy_transform),
- NULL);
+ NULL, NULL);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]