Hi All,
I reported bug #813212 https://bugs.launchpad.net/inkscape/+bug/813212 a couple of days ago, which deals with the deprecation of GtkObject in GTK+ 3. I have taken a quick look at fixing the problem, but there a couple of things I'm not confident about. Perhaps someone with more GTK+ experience could help out here?
One of the main issues here is that SPCanvasItem (our custom implementation of GnomeCanvas) is a subclass of GtkObject. GNOME Evolution got round this problem in their own copy of GnomeCanvas by changing the parent class to GObject. This introduces a couple of issues that I could use some help with:
1) What do we do about the "::destroy" signal? GObject has no such signal... there is a "::dispose", but is it functionally equivalent? Can we just rename all the gtk_object_destroy calls to g_object_run_dispose, and replace the custom GtkObject.destroy implementations with GObject.dispose? Does the same apply for GtkObjectClass and GObjectClass?
2) What do we do about the GtkObjectFlags enumeration? This is deprecated, and no equivalent is available in GObject. Can we just add a typedef for a "SPCanvasItemFlags" enumeration in sp-canvas-item.h, and add a "guint32 flags" member to SPCanvasItem?
Thanks,
Alex