summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/network.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/network.c b/src/network.c
index 464f30c6..1b6bd185 100644
--- a/src/network.c
+++ b/src/network.c
@@ -953,14 +953,17 @@ static void current_operator_callback(const struct ofono_error *error,
network_operator_compare);
if (op) {
- netreg->current_operator = op->data;
set_network_operator_status(modem, op->data,
OPERATOR_STATUS_CURRENT);
set_network_operator_technology(modem, op->data,
current->tech);
set_network_operator_name(modem, op->data, current->name);
- return;
+ if (netreg->current_operator == op->data)
+ return;
+
+ netreg->current_operator = op->data;
+ goto emit;
}
if (current) {
@@ -986,6 +989,7 @@ static void current_operator_callback(const struct ofono_error *error,
netreg->current_operator = NULL;
}
+emit:
operator = get_operator_display_name(modem);
dbus_gsm_signal_property_changed(conn, modem->path,
NETWORK_REGISTRATION_INTERFACE,