Skip to content

Fix more "lost" GInterface properties

Florian Müllner requested to merge wip/fmuellner/more-iface-woes into master

Some objects are still missing properties that they are supposed to inherit from implemented interfaces.

This time it depends on whether the object was constructed from JS:

let button = new Gtk.Button();
button.action_name = 'app.do-foo'; // this works

or whether the object is picked up from a return value, method/signal parameter etc.:

let button = builder.get_object('someButton');
button.action_name = 'app.do-foo'; // doesn't work

It looks like the reason is that resolve_impl() resolves properties lazily, but only consider GInterfaces in the resolve_no_info() case. This MR also looks for interface properties in the other code path and adds a test that outline the issue.

Edited by Georges Basile Stavracas Neto

Merge request reports