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 631952 - better GObject-Introspection support for new-project branch
better GObject-Introspection support for new-project branch
Status: RESOLVED FIXED
Product: anjuta
Classification: Applications
Component: plugins: project-manager
git master
Other Linux
: Normal normal
: ---
Assigned To: Naba Kumar
Anjuta maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-12 08:26 UTC by Abderrahim Kitouni
Modified: 2010-11-08 10:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libanjuta: add G-I annotations to IAnjutaProject and AnjutaProjectNode (6.27 KB, patch)
2010-10-12 08:33 UTC, Abderrahim Kitouni
accepted-commit_now Details | Review
libanjuta: Register AnjutaProjectNodeInfo and AnjutaProjectProperty as boxed (6.76 KB, patch)
2010-10-12 08:34 UTC, Abderrahim Kitouni
accepted-commit_now Details | Review
fix to work with recent gobject introspection (2.01 KB, patch)
2010-11-04 18:10 UTC, Abderrahim Kitouni
none Details | Review

Description Abderrahim Kitouni 2010-10-12 08:26:01 UTC
I'll attach patches adding g-i annotations for what I had to use in my sample plugin.
I've also tried to correctly register gobject properties, but I got stuck with lists, so I'll let this for another time.
Comment 1 Abderrahim Kitouni 2010-10-12 08:33:42 UTC
Created attachment 172169 [details] [review]
libanjuta: add G-I annotations to IAnjutaProject and AnjutaProjectNode
Comment 2 Abderrahim Kitouni 2010-10-12 08:34:28 UTC
Created attachment 172171 [details] [review]
libanjuta: Register AnjutaProjectNodeInfo and AnjutaProjectProperty as boxed
Comment 3 Sébastien Granjoux 2010-10-24 21:03:45 UTC
Review of attachment 172169 [details] [review]:

Thanks, I have committed it.
Comment 4 Sébastien Granjoux 2010-10-24 21:04:06 UTC
Review of attachment 172171 [details] [review]:

Thanks, I have committed it.
Comment 5 Sébastien Granjoux 2010-10-24 21:04:55 UTC
Is there some more to do about this or can I close the bug ?
Comment 6 Abderrahim Kitouni 2010-10-27 09:57:05 UTC
What I would like to add is proper memory handling of AnjutaProjectProperty lists. Since we want to allow for custom property types, we cannot simply free the properties in the dispose method of the project node. And because of the limitations of GObjectIntrospection (I can think of many ways to fix the problem in Vala, but I'm not sure any of them would work with PyGObject).
Comment 7 Johannes Schmid 2010-10-27 15:36:42 UTC
Another thing that bothers me with gobject-introspection is that the Makefile.am in libanjuta is quite broken. It doesn't behave correctly with "make -j" and also seems to break distcheck.
Comment 8 Sébastien Granjoux 2010-10-27 17:50:40 UTC
(In reply to comment #6)
> What I would like to add is proper memory handling of AnjutaProjectProperty
> lists.

What does it need ?
Comment 9 Abderrahim Kitouni 2010-11-04 18:10:32 UTC
Created attachment 173837 [details] [review]
fix to work with recent gobject introspection

Interface aren't reconized as such by recent g-i, because it expects IAnjuta to be lowercased as i_anjuta.
Comment 10 Sébastien Granjoux 2010-11-06 14:00:14 UTC
(In reply to comment #9)
> Interface aren't reconized as such by recent g-i, because it expects IAnjuta to
> be lowercased as i_anjuta.

You mean that the interface types should be i_anjuta_Debugger and i_anjuta_DebuggerIface by example. It's a bit strange to have type name not starting with an uppercase letter.

Do you think it's better to change anjuta or the introspection scanner ?
Comment 11 Abderrahim Kitouni 2010-11-06 18:31:53 UTC
G-I scanner is expecting IAnjutaDebugger to have i_anjuta_debugger_get_type instead of ianjuta_debugger_get_type. But passing --symbol-prefix=ianjuta makes it behave correctly. So no, neither anjuta nor the g-i scanner needs to change : only the anjuta makefile :-)
Comment 12 Johannes Schmid 2010-11-08 10:37:00 UTC
Committed in master with slight modification (e.g. everything from 1.0 -> 3.0).

Thanks!