constraints: Remove signal handlers on dispose
Same as commit 2fa8b3a3ab
but done for
AlignConstraint and SnapConstraint as well.
This commit is contained in:
parent
2fa8b3a3ab
commit
491bbc226e
@ -152,6 +152,25 @@ clutter_align_constraint_update_allocation (ClutterConstraint *constraint,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
clutter_align_constraint_dispose (GObject *gobject)
|
||||||
|
{
|
||||||
|
ClutterAlignConstraint *align = CLUTTER_ALIGN_CONSTRAINT (gobject);
|
||||||
|
|
||||||
|
if (align->source != NULL)
|
||||||
|
{
|
||||||
|
g_signal_handlers_disconnect_by_func (align->source,
|
||||||
|
G_CALLBACK (source_destroyed),
|
||||||
|
align);
|
||||||
|
g_signal_handlers_disconnect_by_func (align->source,
|
||||||
|
G_CALLBACK (source_position_changed),
|
||||||
|
align);
|
||||||
|
align->source = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (clutter_align_constraint_parent_class)->dispose (gobject);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_align_constraint_set_property (GObject *gobject,
|
clutter_align_constraint_set_property (GObject *gobject,
|
||||||
guint prop_id,
|
guint prop_id,
|
||||||
@ -268,11 +287,10 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
|
|||||||
0.0,
|
0.0,
|
||||||
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT);
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT);
|
||||||
|
|
||||||
|
gobject_class->dispose = clutter_align_constraint_dispose;
|
||||||
gobject_class->set_property = clutter_align_constraint_set_property;
|
gobject_class->set_property = clutter_align_constraint_set_property;
|
||||||
gobject_class->get_property = clutter_align_constraint_get_property;
|
gobject_class->get_property = clutter_align_constraint_get_property;
|
||||||
_clutter_object_class_install_properties (gobject_class,
|
g_object_class_install_properties (gobject_class, PROP_LAST, obj_props);
|
||||||
PROP_LAST,
|
|
||||||
obj_props);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -213,10 +213,10 @@ clutter_bind_constraint_dispose (GObject *gobject)
|
|||||||
if (bind->source != NULL)
|
if (bind->source != NULL)
|
||||||
{
|
{
|
||||||
g_signal_handlers_disconnect_by_func (bind->source,
|
g_signal_handlers_disconnect_by_func (bind->source,
|
||||||
source_destroyed,
|
G_CALLBACK (source_destroyed),
|
||||||
bind);
|
bind);
|
||||||
g_signal_handlers_disconnect_by_func (bind->source,
|
g_signal_handlers_disconnect_by_func (bind->source,
|
||||||
source_queue_relayout,
|
G_CALLBACK (source_queue_relayout),
|
||||||
bind);
|
bind);
|
||||||
bind->source = NULL;
|
bind->source = NULL;
|
||||||
}
|
}
|
||||||
|
@ -214,6 +214,25 @@ clutter_snap_constraint_set_actor (ClutterActorMeta *meta,
|
|||||||
parent->set_actor (meta, new_actor);
|
parent->set_actor (meta, new_actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
clutter_snap_constraint_dispose (GObject *gobject)
|
||||||
|
{
|
||||||
|
ClutterSnapConstraint *snap = CLUTTER_SNAP_CONSTRAINT (gobject);
|
||||||
|
|
||||||
|
if (snap->source != NULL)
|
||||||
|
{
|
||||||
|
g_signal_handlers_disconnect_by_func (snap->source,
|
||||||
|
G_CALLBACK (source_destroyed),
|
||||||
|
snap);
|
||||||
|
g_signal_handlers_disconnect_by_func (snap->source,
|
||||||
|
G_CALLBACK (source_queue_relayout),
|
||||||
|
snap);
|
||||||
|
snap->source = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (clutter_snap_constraint_parent_class)->dispose (gobject);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_snap_constraint_set_property (GObject *gobject,
|
clutter_snap_constraint_set_property (GObject *gobject,
|
||||||
guint prop_id,
|
guint prop_id,
|
||||||
@ -289,9 +308,6 @@ clutter_snap_constraint_class_init (ClutterSnapConstraintClass *klass)
|
|||||||
ClutterConstraintClass *constraint_class = CLUTTER_CONSTRAINT_CLASS (klass);
|
ClutterConstraintClass *constraint_class = CLUTTER_CONSTRAINT_CLASS (klass);
|
||||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||||
|
|
||||||
gobject_class->set_property = clutter_snap_constraint_set_property;
|
|
||||||
gobject_class->get_property = clutter_snap_constraint_get_property;
|
|
||||||
|
|
||||||
meta_class->set_actor = clutter_snap_constraint_set_actor;
|
meta_class->set_actor = clutter_snap_constraint_set_actor;
|
||||||
|
|
||||||
constraint_class->update_allocation = clutter_snap_constraint_update_allocation;
|
constraint_class->update_allocation = clutter_snap_constraint_update_allocation;
|
||||||
@ -355,9 +371,10 @@ clutter_snap_constraint_class_init (ClutterSnapConstraintClass *klass)
|
|||||||
0.0f,
|
0.0f,
|
||||||
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT);
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT);
|
||||||
|
|
||||||
_clutter_object_class_install_properties (gobject_class,
|
gobject_class->dispose = clutter_snap_constraint_dispose;
|
||||||
PROP_LAST,
|
gobject_class->set_property = clutter_snap_constraint_set_property;
|
||||||
obj_props);
|
gobject_class->get_property = clutter_snap_constraint_get_property;
|
||||||
|
g_object_class_install_properties (gobject_class, PROP_LAST, obj_props);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user