summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mader <robert.mader@collabora.com>2023-03-08 17:07:01 +0100
committerMarge Bot <marge-bot@gnome.org>2023-04-17 09:16:10 +0000
commit87b3843615147820822c92031bbe61099f2b9f48 (patch)
treea9632b1884fc11f7713a98df5972b7421b8d31d5
parent020d128d151dc4303f1db95926d239e1e5a5d46e (diff)
downloadmutter-87b3843615147820822c92031bbe61099f2b9f48.tar.gz
clutter/stage-view: Add destroy signal
It will be used in the next commit. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2823>
-rw-r--r--clutter/clutter/clutter-stage-view.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/clutter/clutter/clutter-stage-view.c b/clutter/clutter/clutter-stage-view.c
index f489988bb..5f66d6032 100644
--- a/clutter/clutter/clutter-stage-view.c
+++ b/clutter/clutter/clutter-stage-view.c
@@ -50,6 +50,14 @@ enum
static GParamSpec *obj_props[PROP_LAST];
+enum
+{
+ DESTROY,
+ N_SIGNALS
+};
+
+guint stage_view_signals[N_SIGNALS] = { 0 };
+
typedef struct _ClutterStageViewPrivate
{
char *name;
@@ -1467,6 +1475,8 @@ clutter_stage_view_dispose (GObject *object)
clutter_stage_view_get_instance_private (view);
int i;
+ g_signal_emit (view, stage_view_signals[DESTROY], 0);
+
g_clear_pointer (&priv->name, g_free);
g_clear_object (&priv->shadow.framebuffer);
@@ -1607,6 +1617,14 @@ clutter_stage_view_class_init (ClutterStageViewClass *klass)
G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, PROP_LAST, obj_props);
+
+ stage_view_signals[DESTROY] =
+ g_signal_new ("destroy",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
void