From 6c05b09be16ac8eceb17653c3c26c0c6f963ef10 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 18 Jun 2012 15:34:33 +0200 Subject: Do not call g_object_notify() when property didn't change --- e-util/e-activity.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'e-util/e-activity.c') diff --git a/e-util/e-activity.c b/e-util/e-activity.c index ae34366393..cd1c5699b2 100644 --- a/e-util/e-activity.c +++ b/e-util/e-activity.c @@ -394,6 +394,9 @@ e_activity_set_alert_sink (EActivity *activity, { g_return_if_fail (E_IS_ACTIVITY (activity)); + if (activity->priv->alert_sink == alert_sink) + return; + if (alert_sink != NULL) { g_return_if_fail (E_IS_ALERT_SINK (alert_sink)); g_object_ref (alert_sink); @@ -421,6 +424,9 @@ e_activity_set_cancellable (EActivity *activity, { g_return_if_fail (E_IS_ACTIVITY (activity)); + if (activity->priv->cancellable == cancellable) + return; + if (cancellable != NULL) { g_return_if_fail (G_IS_CANCELLABLE (cancellable)); g_object_ref (cancellable); @@ -459,6 +465,9 @@ e_activity_set_icon_name (EActivity *activity, { g_return_if_fail (E_IS_ACTIVITY (activity)); + if (g_strcmp0 (activity->priv->icon_name, icon_name) == 0) + return; + g_free (activity->priv->icon_name); activity->priv->icon_name = g_strdup (icon_name); @@ -479,6 +488,9 @@ e_activity_set_percent (EActivity *activity, { g_return_if_fail (E_IS_ACTIVITY (activity)); + if (activity->priv->percent == percent) + return; + activity->priv->percent = percent; g_object_notify (G_OBJECT (activity), "percent"); @@ -498,6 +510,9 @@ e_activity_set_state (EActivity *activity, { g_return_if_fail (E_IS_ACTIVITY (activity)); + if (activity->priv->state == state) + return; + activity->priv->state = state; g_object_notify (G_OBJECT (activity), "state"); @@ -517,6 +532,9 @@ e_activity_set_text (EActivity *activity, { g_return_if_fail (E_IS_ACTIVITY (activity)); + if (g_strcmp0 (activity->priv->text, text) == 0) + return; + g_free (activity->priv->text); activity->priv->text = g_strdup (text); -- cgit