diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-01-14 01:50:49 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-06-16 02:46:02 +0800 |
commit | c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede (patch) | |
tree | 6af964bb15322661d28181dc00310e3afe618f46 /libgnomecanvas/gnome-canvas.h | |
parent | 333897772f2cf3251915800aff2c836f02095c84 (diff) | |
download | gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.gz gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.zst gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.zip |
Fix all remaining GTK3 issues.
Work around the issue of GnomeCanvasItem amending its own flags to
GtkObject::flags (which is sealed) by giving it its own flags field.
This breaks libgnomecanvas ABI and API, but I see no other way.
This commit didn't work the first time because gnome-pilot libraries
were still pulling in the system-wide libgnomecanvas, and that was
interfereing with our bundled version which has a different ABI.
But gnome-pilot integration was dropped in the previous commit, so
everything is now using the bundled libgnomecanvas.
Diffstat (limited to 'libgnomecanvas/gnome-canvas.h')
-rw-r--r-- | libgnomecanvas/gnome-canvas.h | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/libgnomecanvas/gnome-canvas.h b/libgnomecanvas/gnome-canvas.h index a9c70be4f5..559bd9c8fb 100644 --- a/libgnomecanvas/gnome-canvas.h +++ b/libgnomecanvas/gnome-canvas.h @@ -90,17 +90,17 @@ typedef struct _GnomeCanvasGroupClass GnomeCanvasGroupClass; */ /* Object flags for items */ -enum { - GNOME_CANVAS_ITEM_REALIZED = 1 << 4, - GNOME_CANVAS_ITEM_MAPPED = 1 << 5, - GNOME_CANVAS_ITEM_ALWAYS_REDRAW = 1 << 6, - GNOME_CANVAS_ITEM_VISIBLE = 1 << 7, - GNOME_CANVAS_ITEM_NEED_UPDATE = 1 << 8, - GNOME_CANVAS_ITEM_NEED_AFFINE = 1 << 9, - GNOME_CANVAS_ITEM_NEED_CLIP = 1 << 10, - GNOME_CANVAS_ITEM_NEED_VIS = 1 << 11, - GNOME_CANVAS_ITEM_AFFINE_FULL = 1 << 12 -}; +typedef enum { + GNOME_CANVAS_ITEM_REALIZED = 1 << 0, + GNOME_CANVAS_ITEM_MAPPED = 1 << 1, + GNOME_CANVAS_ITEM_ALWAYS_REDRAW = 1 << 2, + GNOME_CANVAS_ITEM_VISIBLE = 1 << 3, + GNOME_CANVAS_ITEM_NEED_UPDATE = 1 << 4, + GNOME_CANVAS_ITEM_NEED_AFFINE = 1 << 5, + GNOME_CANVAS_ITEM_NEED_CLIP = 1 << 6, + GNOME_CANVAS_ITEM_NEED_VIS = 1 << 7, + GNOME_CANVAS_ITEM_AFFINE_FULL = 1 << 8 +} GnomeCanvasItemFlags; /* Update flags for items */ enum { @@ -161,6 +161,10 @@ struct _GnomeCanvasItem { /* Bounding box for this item (in canvas coordinates) */ double x1, y1, x2, y2; + + /* XXX GtkObject flags are sealed now, so we have to provide + * our own. This breaks ABI compatibility with upstream. */ + GnomeCanvasItemFlags flags; }; struct _GnomeCanvasItemClass { |