aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets')
-rw-r--r--addressbook/gui/widgets/e-addressbook-model.c3
-rw-r--r--addressbook/gui/widgets/e-addressbook-selector.c3
-rw-r--r--addressbook/gui/widgets/eab-contact-display.c3
3 files changed, 9 insertions, 0 deletions
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);