File 0001-Handle-an-UNKNOWN-NetworkManager-connectivity-as-NONE.patch of Package glib2.17285

From 2932a58cd5e968d3f398f00ae9f78688c826606e Mon Sep 17 00:00:00 2001
From: Antonio Larrosa <alarrosa@suse.com>
Date: Tue, 12 Mar 2019 18:35:10 +0100
Subject: [PATCH] Handle an UNKNOWN NetworkManager connectivity as NONE

nm_conn_to_g_conn already handles UNKNOWN like NONE (returning
G_NETWORK_CONNECTIVITY_LOCAL in both cases). So in sync_properties
we should also set new_connectivity to G_NETWORK_CONNECTIVITY_LOCAL
for both NM_CONNECTIVITY_UNKNOWN and NM_CONNECTIVITY_NONE.

This has the added benefit that when NetworkManager returns the network
connectivity is UNKNOWN, we set network_available to FALSE as it should
be. Previously, there were cases in a laptop with no network access,
that g_network_monitor_get_network_available returned true, which was
wrong and is also fixed with this commit.
---
 gio/gnetworkmonitornm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gio/gnetworkmonitornm.c b/gio/gnetworkmonitornm.c
index 5bc8c925a..4e2a35e8a 100644
--- a/gio/gnetworkmonitornm.c
+++ b/gio/gnetworkmonitornm.c
@@ -167,7 +167,8 @@ sync_properties (GNetworkMonitorNM *nm,
   nm_connectivity = g_variant_get_uint32 (v);
   g_variant_unref (v);
 
-  if (nm_connectivity == NM_CONNECTIVITY_NONE)
+  if (nm_connectivity == NM_CONNECTIVITY_UNKNOWN ||
+      nm_connectivity == NM_CONNECTIVITY_NONE)
     {
       new_network_available = FALSE;
       new_network_metered = FALSE;
-- 
2.21.0

openSUSE Build Service is sponsored by