aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-01-14 01:50:49 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-06-16 02:46:02 +0800
commitc2c89fcb8cfa5661e94de5e57c7dbc80c3342ede (patch)
tree6af964bb15322661d28181dc00310e3afe618f46 /addressbook
parent333897772f2cf3251915800aff2c836f02095c84 (diff)
downloadgsoc2013-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 'addressbook')
-rw-r--r--addressbook/gui/widgets/e-minicard-label.c4
-rw-r--r--addressbook/gui/widgets/e-minicard.c14
2 files changed, 13 insertions, 5 deletions
diff --git a/addressbook/gui/widgets/e-minicard-label.c b/addressbook/gui/widgets/e-minicard-label.c
index 0eb166bcf3..5c1eba1f43 100644
--- a/addressbook/gui/widgets/e-minicard-label.c
+++ b/addressbook/gui/widgets/e-minicard-label.c
@@ -414,7 +414,9 @@ e_minicard_label_resize_children(EMinicardLabel *e_minicard_label)
static void
set_colors (EMinicardLabel *label)
{
- if ((GTK_OBJECT_FLAGS (label) & GNOME_CANVAS_ITEM_REALIZED)) {
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (label);
+
+ if ((item->flags & GNOME_CANVAS_ITEM_REALIZED)) {
GnomeCanvas *canvas;
GtkStyle *style;
diff --git a/addressbook/gui/widgets/e-minicard.c b/addressbook/gui/widgets/e-minicard.c
index 213d600746..92a415b88f 100644
--- a/addressbook/gui/widgets/e-minicard.c
+++ b/addressbook/gui/widgets/e-minicard.c
@@ -321,7 +321,7 @@ e_minicard_set_property (GObject *object, guint prop_id, const GValue *value, G
if (e_minicard->width != g_value_get_double (value)) {
e_minicard->width = g_value_get_double (value);
e_minicard_resize_children(e_minicard);
- if (GTK_OBJECT_FLAGS( e_minicard ) & GNOME_CANVAS_ITEM_REALIZED)
+ if (item->flags & GNOME_CANVAS_ITEM_REALIZED)
e_canvas_item_request_reflow(item);
}
break;
@@ -467,7 +467,9 @@ e_minicard_finalize (GObject *object)
static void
e_minicard_style_set (EMinicard *minicard, GtkStyle *previous_style)
{
- if ((GTK_OBJECT_FLAGS( minicard ) & GNOME_CANVAS_ITEM_REALIZED))
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (minicard);
+
+ if ((item->flags & GNOME_CANVAS_ITEM_REALIZED))
set_selected (minicard, minicard->selected);
}
@@ -910,9 +912,12 @@ get_left_width (EMinicard *e_minicard, gboolean is_list)
static void
remodel( EMinicard *e_minicard )
{
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (e_minicard);
gint count = 0;
- if (!(GTK_OBJECT_FLAGS( e_minicard ) & GNOME_CANVAS_ITEM_REALIZED))
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
+
if (e_minicard->contact) {
EContactField field;
GList *list;
@@ -1012,7 +1017,8 @@ static void
e_minicard_reflow(GnomeCanvasItem *item, gint flags)
{
EMinicard *e_minicard = E_MINICARD(item);
- if (GTK_OBJECT_FLAGS (e_minicard) & GNOME_CANVAS_ITEM_REALIZED) {
+
+ if (item->flags & GNOME_CANVAS_ITEM_REALIZED) {
GList *list;
gdouble text_height;
gint old_height;