GNOME Bugzilla – Bug 476674
atkobject missing property getters
Last modified: 2013-12-11 15:21:25 UTC
Steps to repro: accessible = g_object_new (ATK_TYPE_OBJECT, NULL); g_object_get (accessible, "accessible-table-caption", &v1, "accessible-table-column-description", &v2, "accessible-table-column-header", &v3, "accessible-table-row-description", &v4, "accessible-table-row-header", &v5, NULL); Results: WARNING **: atkobject.c:1161: invalid property id 8 for "accessible-table-caption" of type `GParamString' in `AtkObject' WARNING **: atkobject.c:1161: invalid property id 9 for "accessible-table-column-description" of type `GParamString' in `AtkObject' WARNING **: atkobject.c:1161: invalid property id 10 for "accessible-table-column-header" of type `GParamObject' in `AtkObject' WARNING **: atkobject.c:1161: invalid property id 11 for "accessible-table-row-description" of type `GParamString' in `AtkObject' WARNING **: atkobject.c:1161: invalid property id 12 for "accessible-table-row-header" of type `GParamObject' in `AtkObject' Those properties are declared readable (G_PARAM_READWRITE) in atk_object_class_init, so the getter must be implemented too.
[Mass-reassigning open atk bug reports for better trackability as requested in https://bugzilla.gnome.org/show_bug.cgi?id=653179 . PLEASE NOTE: If you have watched the previous assignee of this bug report as a workaround for actually getting notified of changes in atk bugs, you yourself will now have to add atk-maint@gnome.bugs to your watchlist at the bottom of https://bugzilla.gnome.org/userprefs.cgi?tab=email to keep watching atk bug reports in GNOME Bugzilla. Sorry for the noise: Feel free to filter for this comment in order to mass-delete the triggered bugmail.]
(In reply to comment #0) > Steps to repro: > > accessible = g_object_new (ATK_TYPE_OBJECT, NULL); > g_object_get (accessible, > "accessible-table-caption", &v1, accessible-table-caption is deprecated in favor of accessible-table-caption-object. And the latter has the proper getter/setter. > "accessible-table-column-description", &v2, > "accessible-table-column-header", &v3, > "accessible-table-row-description", &v4, > "accessible-table-row-header", &v5, In my opinion those properties doesn't make sense. It is not because they were defined at AtkObject instead of AtkTable (when those were added, glib interfaces didn't have the possibility to have properties). The main problem is that one AtkObject, if it is an AtkTable, can have more that one columns or rows. AtkTable have methods to get that information, but you need to specify with column number or column row. So it is impossible to implement a correct get/set property here. As the doc says, those properties were added to notify that *any* column-description, column-header, row-description or row-header changed. But doesn't specify which one. So that would mean that an AT using those properties, would receive the event, and then it would need to use AtkTable methods to get the info, but would need to guess which column/row number. So I really think that this bug should be solved by just deprecating those properties. Opinion?
(In reply to comment #2) > So I really think that this bug should be solved by just deprecating those > properties. Done with commit https://git.gnome.org/browse/atk/commit/?id=368d142d9b0c903b4eb92da42779b41ffdd16a15 So all those properties are deprecated, making irrelevant that they don't have proper getter/setter.