Re: introspection status



Update: the branch has been merged.  I'm happy to finally deliver
(somewhat) on the promise of giving useful feedback.

Some example warnings, with my comments:

gtkmain.h:93: warning: Gtk: gtk_get_option_group: return value:
Invalid non-constant return of bare structure or union; register as
boxed type or (skip)

In this case, the right thing is probably to just (skip).  Binding
apps probably aren't going to dive into lowlevel argument processing
(and GTK shouldn't have arguments to begin with, but that's another
bug).  Alternatively, we could continue with the pattern of
registering boxed types for GLib in GObject.

gtkmain.h:169: warning: Gtk: gtk_get_current_event_device: return
value: Missing (transfer) annotation

Simply missing a (transfer full).

gtkprintoperation.h:200: warning: Gtk:
gtk_print_run_page_setup_dialog_async: argument done_cb: Missing
(scope) annotation for callback without GDestroyNotify (valid: call,
async)

This one looks like it's (scope async).

gtktoolshell.h:75: warning: Gtk: ToolShell: Virtual function
'get_icon_size' has no known invoker

This one actually looks like a scanner bug... =)  Um...here's a
different virtual-invoker-missing one that looks like a GTK+ bug:

gtkrecentchooser.h:70: warning: Gtk: RecentChooser: Virtual function
'get_recent_manager' has no known invoker

For anyone interested in GObject static analysis, this is a useful
place to dive in:
http://git.gnome.org/browse/gobject-introspection/tree/giscanner/introspectablepass.py

Help in getting GTK3 fully introspectable is appreciated!


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]