Re: Questions debugging introspection Gtk bindings



Hi Neil,

Thanks for confirming and pointing me to the git commit.

I file the report here: https://bugzilla.gnome.org/show_bug.cgi?id=791443 . Since the commit you refer to breaks Gtk3 API, I suppose this is Gtk4 work, so could still be useful to have the fix in the Gtk3 stable branch.

The repository also has extensive changes in clipboard APIs, replacing Gtk.Clipboard by a new Gdk.Clipboard interface which also seems more object oriented, so hopefully better compatible with python bindings. So when my application goes to Gtk4 I guess I'll have use that interface to re-implement my serialization logic. But for Gtk3 I'm stuck with the serialization func, because Gtk.Clipboard.set_with_data is incompatible with the python bindings.

Regards,

Jaap




On Wed, Dec 6, 2017 at 11:18 AM Neil Muller <drnlmuller+gtk gmail com> wrote:
On 6 December 2017 at 09:53, Jaap Karssenberg
<jaap karssenberg gmail com> wrote:
> Hi all,
>
> a/ Does the above hypothesis make sense, or am I on a wild goose chase?

Your analysis looks sensible, and looking at the code for gtk 3.22.20,
the  GtkTextBufferSerializeFunc annotations are missing any sort of
(array) annotation for the return value, so I'm pretty sure you've
identified the problem correctly.

(for reference,
https://wiki.gnome.org/Projects/GObjectIntrospection/Annotations/
covers the annotation syntax)

> b/ How can I change the annotation and test the result?

You'd have to compile the XML annotations file into a typelib file
using g-ir-compiler, so the python bindings can pick them up correctly
(I've never done this personally though, so I don't know if there any
extra complications to be aware of)


Since the annotations are faulty, filing a bug report against gtk
should be enough to get this fixed, but there is a significant problem
in this case - the whole API was removed in the following recent
commit to gtk master

https://git.gnome.org/browse/gtk+/commit/?id=3d4743ee62673415d3872d215fa472e883f5158f

(log message: "textview: Remove serialization API")

I don't follow gtk development closely enough to know what's meant to
replace this API.

--
Neil Muller
drnlmuller gmail com

I've got a gmail account. Why haven't I become cool?


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