diff options
author | Larry Ewing <lewing@ximian.com> | 2003-06-14 12:34:20 +0800 |
---|---|---|
committer | Larry Ewing <lewing@src.gnome.org> | 2003-06-14 12:34:20 +0800 |
commit | 1761fff007b20c765181f7e89c1cb4fd84c699e3 (patch) | |
tree | cf9abbc667602f494d2eaf5d2054980c4e30585b /addressbook/gui/widgets/e-minicard.c | |
parent | b3b0f96535867fa18399c4769fdd6bf2168ba144 (diff) | |
download | gsoc2013-evolution-1761fff007b20c765181f7e89c1cb4fd84c699e3.tar.gz 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.c | 28 |
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 |