Calling Gio::NetworkMonitor::get_default() twice leads to a crash
Here's the reproducer:
#include <giomm.h>
int main() {
Gio::init();
Gio::NetworkMonitor::get_default();
Gio::NetworkMonitor::get_default();
return 0;
}
Here's the backtrace:
#0 0x00007ffff7db0f9d in g_type_check_instance_is_fundamentally_a () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#1 0x00007ffff7d97755 in g_object_get_qdata () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#2 0x0000000003912fdc in Glib::ObjectBase::_get_current_wrapper (object=<optimized out>) at ../../Libraries/glibmm/build/../glib/glibmm/objectbase.cc:261
No locals.
#3 0x0000000002c5a2cc in Glib::wrap_auto_interface<Gio::NetworkMonitor> (take_copy=false, object=0x7ffff6e3b600) at ../../Libraries/glibmm/build/../glib/glibmm/wrap.h:71
pCppObject = <optimized out>
result = <optimized out>
pCppObject = <optimized out>
result = <optimized out>
#4 Glib::wrap (take_copy=false, object=0x7ffff6e3b600) at ../../Libraries/glibmm/build/gio/giomm/networkmonitor.cc:102
No locals.
#5 Gio::NetworkMonitor::get_default () at ../../Libraries/glibmm/build/gio/giomm/networkmonitor.cc:244
No locals.