mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 06:56:14 +01:00
GObject: do checks on interface property install
Add some checks to g_object_interface_install_property() similar to those in g_object_class_install_property(). https://bugzilla.gnome.org/show_bug.cgi?id=666616
This commit is contained in:
parent
b237187109
commit
557da16507
@ -706,7 +706,13 @@ g_object_interface_install_property (gpointer g_iface,
|
||||
g_return_if_fail (G_IS_PARAM_SPEC (pspec));
|
||||
g_return_if_fail (!G_IS_PARAM_SPEC_OVERRIDE (pspec)); /* paranoid */
|
||||
g_return_if_fail (PARAM_SPEC_PARAM_ID (pspec) == 0); /* paranoid */
|
||||
|
||||
|
||||
g_return_if_fail (pspec->flags & (G_PARAM_READABLE | G_PARAM_WRITABLE));
|
||||
if (pspec->flags & G_PARAM_CONSTRUCT)
|
||||
g_return_if_fail ((pspec->flags & G_PARAM_CONSTRUCT_ONLY) == 0);
|
||||
if (pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY))
|
||||
g_return_if_fail (pspec->flags & G_PARAM_WRITABLE);
|
||||
|
||||
install_property_internal (iface_class->g_type, 0, pspec);
|
||||
}
|
||||
|
||||
|
@ -487,7 +487,7 @@ test_interface_default_init (TestInterfaceInterface *iface)
|
||||
g_object_interface_install_property (iface, pspec);
|
||||
exit (0);
|
||||
}
|
||||
//g_test_trap_assert_failed (); XXX g_object_interface_install_property has no checks
|
||||
g_test_trap_assert_failed ();
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user