Vala bindings for libappindicator are incorrect
Bug #632996 reported by
Maia Everett
This bug affects 8 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Application Indicators |
Fix Released
|
Medium
|
Unassigned | ||
indicator-application (Ubuntu) |
Fix Released
|
Low
|
Ted Gould |
Bug Description
Binary package hint: indicator-
There are several issues:
1. Private fields are exposed.
2. The C prefix for AppIndicator is set incorrectly, resulting in the generated C file failing to compile because it expects the prefix to be app_indicator_
3. Some properties are not marked as being accessed directly, while the icon_name property is not bound to the existing getter/setter. The Vala compiler expects there to be _get_icon_name and _set_icon_name by default.
I'm attaching a patch for the generated .vapi file - I tweaked it for a personal project. You'll have to modify the C source, presumably.
Changed in indicator-application (Ubuntu): | |
assignee: | nobody → Ted Gould (ted) |
tags: | added: patch |
Changed in indicator-application: | |
status: | New → Triaged |
importance: | Undecided → Medium |
To post a comment you must log in.
It's a direct result of libindicator not following GObject naming conventions and various oddities in the API itself - because of that GObject Introspection creates bogus .gir (and probably .typelib) and vapigen creates wrong bindings. To fix that we would have to rewrite big parts of API or wait for vapigen to support .metadata for .gir files - not even sure if that's in plans, by definition gir should provide all the data needed for languages to create their own bindings.