g_network_monitor_get_network_available() returns always true
g_network_monitor_get_network_available()
returns always TRUE
with glib2-2.58.1-1.fc29.x86_64, but I can reproduce it also with glib master. I test it with the following:
// gcc gnetworkmonitor.c `pkg-config --cflags --libs glib-2.0 gio-2.0` -o gnetworkmonitor && ./gnetworkmonitor
#include <glib.h>
#include <gio/gio.h>
static void
network_changed (GNetworkMonitor *monitor, gboolean available, gpointer user_data)
{
g_print ("%d %d\n", available, g_network_monitor_get_network_available (monitor));
}
int
main (int argc, const char* argv[])
{
GNetworkMonitor *monitor = g_network_monitor_get_default ();
g_print ("%s %d\n", G_OBJECT_TYPE_NAME (monitor), g_network_monitor_get_network_available (monitor));
g_signal_connect (monitor, "network-changed", G_CALLBACK (network_changed), NULL);
g_main_loop_run (g_main_loop_new (NULL, TRUE));
}
G_OBJECT_TYPE_NAME (monitor)
is GNetworkMonitorNM
, g_network_monitor_get_network_available (monitor)
is always TRUE
, however, available
parameter of network_changed
callback seems working correctly...
I verify by nmcli connection show --active
that there aren't any available connections.