Commit 97da6c39 authored by Florian Müllner's avatar Florian Müllner

object: Resolve interface properties on native objects as well

Since commit 12ace06a, we lazily resolve interface properties of
non-introspected GObjects. However we also lazily resolve properties
on introspected GObjects we didn't create ourselves - we need to
take interface properties into account there as well.

GNOME/gjs!223
parent 1681591e
......@@ -789,6 +789,7 @@ is_gobject_property_name(GIObjectInfo *info,
const char *name)
{
int n_props = g_object_info_get_n_properties(info);
int n_ifaces = g_object_info_get_n_interfaces(info);
int ix;
GjsAutoInfo<GIPropertyInfo> prop_info;
......@@ -802,6 +803,17 @@ is_gobject_property_name(GIObjectInfo *info,
prop_info.reset();
}
if (!prop_info) {
for (ix = 0; ix < n_ifaces; ix++) {
GjsAutoInfo<GIInterfaceInfo> iface_info =
g_object_info_get_interface(info, ix);
if (is_ginterface_property_name(iface_info, canonical_name)) {
g_free(canonical_name);
return true;
}
}
}
g_free(canonical_name);
if (!prop_info)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment