aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-minicard.c
diff options
context:
space:
mode:
authorLarry Ewing <lewing@ximian.com>2003-06-14 12:34:20 +0800
committerLarry Ewing <lewing@src.gnome.org>2003-06-14 12:34:20 +0800
commit1761fff007b20c765181f7e89c1cb4fd84c699e3 (patch)
treecf9abbc667602f494d2eaf5d2054980c4e30585b /addressbook/gui/widgets/e-minicard.c
parentb3b0f96535867fa18399c4769fdd6bf2168ba144 (diff)
downloadgsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar
gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar.gz
gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar.bz2
gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar.lz
gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar.xz
gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar.zst
gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.zip
Fix lots of leaks, update for correct use of g_object_get. Some misc
2003-06-13 Larry Ewing <lewing@ximian.com> * gui/component/addressbook.c: * gui/component/e-cardlist-model.c: * gui/component/select-names/e-select-names-text-model.c: * gui/contact-editor/e-contact-editor.c: * gui/contact-editor/e-contact-save-as.c: * gui/contact-list-editor/e-contact-list-editor.c: * gui/widgets/e-addressbook-table-adapter.c: * gui/widgets/e-addressbook-util.c: * gui/widgets/e-addressbook-view.c: * gui/widgets/e-minicard-view.c: * gui/widgets/e-minicard.c: Fix lots of leaks, update for correct use of g_object_get. Some misc cleanups. svn path=/trunk/; revision=21442
Diffstat (limited to 'addressbook/gui/widgets/e-minicard.c')
-rw-r--r--addressbook/gui/widgets/e-minicard.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/addressbook/gui/widgets/e-minicard.c b/addressbook/gui/widgets/e-minicard.c
index 782f5c40a9..7ce6d2f518 100644
--- a/addressbook/gui/widgets/e-minicard.c
+++ b/addressbook/gui/widgets/e-minicard.c
@@ -582,6 +582,7 @@ e_minicard_event (GnomeCanvasItem *item, GdkEvent *event)
e_minicard->card,
card_modified_cb,
NULL);
+ g_object_unref(book);
} else {
remodel(e_minicard);
e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(e_minicard));
@@ -678,6 +679,7 @@ e_minicard_event (GnomeCanvasItem *item, GdkEvent *event)
g_signal_connect (e_minicard->editor, "editor_closed",
G_CALLBACK (editor_closed_cb), e_minicard);
+ g_object_unref (book);
}
}
return TRUE;
@@ -1021,6 +1023,8 @@ e_minicard_get_card_id (EMinicard *minicard)
int
e_minicard_compare (EMinicard *minicard1, EMinicard *minicard2)
{
+ int cmp = 0;
+
g_return_val_if_fail(minicard1 != NULL, 0);
g_return_val_if_fail(E_IS_MINICARD(minicard1), 0);
g_return_val_if_fail(minicard2 != NULL, 0);
@@ -1028,22 +1032,28 @@ e_minicard_compare (EMinicard *minicard1, EMinicard *minicard2)
if (minicard1->card && minicard2->card) {
char *file_as1, *file_as2;
+
g_object_get(minicard1->card,
"file_as", &file_as1,
NULL);
g_object_get(minicard2->card,
"file_as", &file_as2,
NULL);
- if (file_as1 && file_as2)
- return g_utf8_collate(file_as1, file_as2);
- if (file_as1)
- return -1;
- if (file_as2)
- return 1;
- return strcmp(e_minicard_get_card_id(minicard1), e_minicard_get_card_id(minicard2));
- } else {
- return 0;
+
+ if (file_as1 && file_as2)
+ cmp = g_utf8_collate(file_as1, file_as2);
+ else if (file_as1)
+ cmp = -1;
+ else if (file_as2)
+ cmp = 1;
+ else
+ cmp = strcmp(e_minicard_get_card_id(minicard1), e_minicard_get_card_id(minicard2));
+
+ g_free (file_as1);
+ g_free (file_as2);
}
+
+ return cmp;
}
int