After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 377642 - (atk-proxy) [Meta] Cannot override all methods in atk
(atk-proxy)
[Meta] Cannot override all methods in atk
Status: RESOLVED WONTFIX
Product: pygtk
Classification: Bindings
Component: atk
Git Master
Other Linux
: Normal normal
: ---
Assigned To: Peter Parente
Python bindings maintainers
gnome[unmaintained]
Depends on: 377253 440034 440035 440059 441343
Blocks:
 
 
Reported: 2006-11-21 04:19 UTC by Peter Parente
Modified: 2018-08-17 13:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Peter Parente 2006-11-21 04:19:07 UTC
Fix to bug #377253 allows Python objects to subclass atk.AccessibleObject to provide accessibility support for custom widgets. Implementing most other atk interfaces (e.g. atk.Action) works fine as the do_* methods are exposed and overrideable. Implementing atk.Value, however, is not possible at present. In fact, subclassing atk.Value results in an immediate segfault at program startup with accessibility enabled.

The reason appears to be that atk.overrides is correct for the out parameter on the C interface, but not in a way that accounts for the the Python object itself implementing the value interface. Perhaps mimicking what other classes that support do_* proxies do in their init methods will work here?
Comment 1 Peter Parente 2006-11-21 17:16:49 UTC
This same problem exists for numerous methods on atk.Component, atk.Text, and atk.EditableText. Basically, anywhere a method is needed in atk.overrides to account for out parameters, a __proxy_do_* method must be implemented that allows overriding and accounts for out params.
Comment 2 Peter Parente 2007-05-20 21:59:20 UTC
After closer inspection of the code generator, it appears it is capable of solving  most of this problem without manual wrappers. I'll mark related bugs blocking this bug.
Comment 3 André Klapper 2018-08-17 13:38:45 UTC
pygtk is not under active development anymore and had its last code changes
in 2013. Its codebase has been archived:
https://gitlab.gnome.org/Archive/pygtk/commits/master

PyGObject at https://gitlab.gnome.org/GNOME/pygobject is its successor. See https://pygobject.readthedocs.io/en/latest/guide/porting.html for porting info.

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect
reality. Feel free to open a task in GNOME Gitlab if the issue described in this task still applies to a recent version of PyGObject. Thanks!