Merge branch 'wip/fmuellner/nm-portal-changed-signal' into 'master'

portal network monitor: Always emit changed signal on changed

See merge request GNOME/glib!294
This commit is contained in:
Philip Withnall 2018-09-03 12:14:18 +00:00
commit 8f157d0274

View File

@ -260,7 +260,6 @@ got_status (GObject *source,
GNetworkMonitorPortal *nm = G_NETWORK_MONITOR_PORTAL (data); GNetworkMonitorPortal *nm = G_NETWORK_MONITOR_PORTAL (data);
GError *error = NULL; GError *error = NULL;
GVariant *ret; GVariant *ret;
gboolean should_emit_changed = FALSE;
GVariant *status; GVariant *status;
gboolean available; gboolean available;
gboolean metered; gboolean metered;
@ -297,14 +296,12 @@ got_status (GObject *source,
{ {
nm->priv->available = available; nm->priv->available = available;
g_object_notify (G_OBJECT (nm), "network-available"); g_object_notify (G_OBJECT (nm), "network-available");
should_emit_changed = TRUE;
} }
if (nm->priv->metered != metered) if (nm->priv->metered != metered)
{ {
nm->priv->metered = metered; nm->priv->metered = metered;
g_object_notify (G_OBJECT (nm), "network-metered"); g_object_notify (G_OBJECT (nm), "network-metered");
should_emit_changed = TRUE;
} }
if (nm->priv->connectivity != connectivity && if (nm->priv->connectivity != connectivity &&
@ -312,13 +309,11 @@ got_status (GObject *source,
{ {
nm->priv->connectivity = connectivity; nm->priv->connectivity = connectivity;
g_object_notify (G_OBJECT (nm), "connectivity"); g_object_notify (G_OBJECT (nm), "connectivity");
should_emit_changed = TRUE;
} }
g_object_thaw_notify (G_OBJECT (nm)); g_object_thaw_notify (G_OBJECT (nm));
if (should_emit_changed) g_signal_emit_by_name (nm, "network-changed", available);
g_signal_emit_by_name (nm, "network-changed", available);
} }
static void static void