aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-minicard-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/e-minicard-view.c')
-rw-r--r--addressbook/gui/widgets/e-minicard-view.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/addressbook/gui/widgets/e-minicard-view.c b/addressbook/gui/widgets/e-minicard-view.c
index 812fee47f0..13f3d01f26 100644
--- a/addressbook/gui/widgets/e-minicard-view.c
+++ b/addressbook/gui/widgets/e-minicard-view.c
@@ -123,11 +123,13 @@ static void
modify_card(EBookView *book_view, const GList *cards, EMinicardView *view)
{
for (; cards; cards = g_list_next(cards)) {
- GnomeCanvasItem *item = gnome_canvas_item_new(GNOME_CANVAS_GROUP(view),
- e_minicard_get_type(),
- "card", cards->data,
- NULL);
- e_reflow_sorted_replace_item(E_REFLOW_SORTED(view), item);
+ ECard *card = cards->data;
+ gchar *id = e_card_get_id(card);
+ GnomeCanvasItem *item = e_reflow_sorted_get_item(E_REFLOW_SORTED(view), id);
+ gnome_canvas_item_set(item,
+ "card", card,
+ NULL);
+ e_reflow_sorted_reorder_item(E_REFLOW_SORTED(view), id);
}
}