diff options
author | Milan Crha <mcrha@redhat.com> | 2012-06-18 21:34:33 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2012-06-18 21:35:44 +0800 |
commit | 6c05b09be16ac8eceb17653c3c26c0c6f963ef10 (patch) | |
tree | 5bb22771cf05419f851373ee43b1ad39a0dcfeaa /addressbook | |
parent | e045e6f12324e1063a87488ac298fd23affea581 (diff) | |
download | gsoc2013-evolution-6c05b09be16ac8eceb17653c3c26c0c6f963ef10.tar.gz gsoc2013-evolution-6c05b09be16ac8eceb17653c3c26c0c6f963ef10.tar.zst gsoc2013-evolution-6c05b09be16ac8eceb17653c3c26c0c6f963ef10.zip |
Do not call g_object_notify() when property didn't change
Diffstat (limited to 'addressbook')
4 files changed, 18 insertions, 0 deletions
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c index fe61ccaa9e..4bb92a351d 100644 --- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c +++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c @@ -1687,6 +1687,9 @@ e_contact_list_editor_set_client (EContactListEditor *editor, g_return_if_fail (E_IS_CONTACT_LIST_EDITOR (editor)); g_return_if_fail (E_IS_BOOK_CLIENT (book_client)); + if (book_client == editor->priv->book_client) + return; + if (editor->priv->book_client != NULL) g_object_unref (editor->priv->book_client); editor->priv->book_client = g_object_ref (book_client); @@ -1888,6 +1891,9 @@ e_contact_list_editor_set_is_new_list (EContactListEditor *editor, g_return_if_fail (E_IS_CONTACT_LIST_EDITOR (editor)); + if ((editor->priv->is_new_list ? 1 : 0) == (is_new_list ? 1 : 0)) + return; + editor->priv->is_new_list = is_new_list; contact_list_editor_update (editor); @@ -1908,6 +1914,9 @@ e_contact_list_editor_set_editable (EContactListEditor *editor, { g_return_if_fail (E_IS_CONTACT_LIST_EDITOR (editor)); + if ((editor->priv->editable ? 1 : 0) == (editable ? 1 : 0)) + return; + editor->priv->editable = editable; contact_list_editor_update (editor); diff --git a/addressbook/gui/widgets/e-addressbook-model.c b/addressbook/gui/widgets/e-addressbook-model.c index 3cc02dff54..a842ff40e0 100644 --- a/addressbook/gui/widgets/e-addressbook-model.c +++ b/addressbook/gui/widgets/e-addressbook-model.c @@ -889,6 +889,9 @@ e_addressbook_model_set_client (EAddressbookModel *model, g_return_if_fail (E_IS_ADDRESSBOOK_MODEL (model)); g_return_if_fail (E_IS_BOOK_CLIENT (book_client)); + if (model->priv->book_client == book_client) + return; + if (model->priv->book_client != NULL) { if (model->priv->book_client == book_client) return; diff --git a/addressbook/gui/widgets/e-addressbook-selector.c b/addressbook/gui/widgets/e-addressbook-selector.c index 80595ef59b..513da877bc 100644 --- a/addressbook/gui/widgets/e-addressbook-selector.c +++ b/addressbook/gui/widgets/e-addressbook-selector.c @@ -420,6 +420,9 @@ e_addressbook_selector_set_current_view (EAddressbookSelector *selector, if (current_view != NULL) g_return_if_fail (E_IS_ADDRESSBOOK_VIEW (current_view)); + if (selector->priv->current_view == current_view) + return; + if (selector->priv->current_view != NULL) { g_object_unref (selector->priv->current_view); selector->priv->current_view = NULL; diff --git a/addressbook/gui/widgets/eab-contact-display.c b/addressbook/gui/widgets/eab-contact-display.c index 28fd5b02be..f877821593 100644 --- a/addressbook/gui/widgets/eab-contact-display.c +++ b/addressbook/gui/widgets/eab-contact-display.c @@ -577,6 +577,9 @@ eab_contact_display_set_contact (EABContactDisplay *display, { g_return_if_fail (EAB_IS_CONTACT_DISPLAY (display)); + if (display->priv->contact == contact) + return; + if (contact != NULL) g_object_ref (contact); |