GNOME Bugzilla – Bug 705465
Fix marshalling of CairoSurface to GValue
Last modified: 2014-01-15 16:31:44 UTC
In particular to get CairoSurface working as a column in GtkListStore
Created attachment 250820 [details] [review] Add GType annotations to Cairo structures To get GValue marshalling we need to ensure that all Cairo constructors have correct $gtype properties.
Created attachment 250821 [details] [review] value: implement marshalling of foreign structures to GValue Previously when setting a GValue we would require a real boxed structure, but for foreign types the JS code should never see them, so allow passing a foreign wrapper instead.
Created attachment 251039 [details] [review] value: implement marshalling of foreign structures to GValue Previously when setting a GValue we would require a real boxed structure, but for foreign types the JS code should never see them, so allow passing a foreign wrapper instead. Now with passing tests!
It would be nice to get these patches reviewed - it would make it possible to support Hi-Dpi with applications using GtkListStore from JS.
Review of attachment 250820 [details] [review]: ::: modules/cairo-gradient.c @@ +25,3 @@ #include <gjs/gjs-module.h> #include <gjs/compat.h> +#include <gi/gtype.h> Do these really require a gtype.h include? If it's required by jsapi-util.h, can we put it in there instead?
Review of attachment 251039 [details] [review]: OK.
Pushed with suggested change. Attachment 250820 [details] pushed as 9a08cfd - Add GType annotations to Cairo structures Attachment 251039 [details] pushed as 080797c - value: implement marshalling of foreign structures to GValue