Crash in the Display panel when disconnecting & re-connecting the output
Steps to reproduce (tested on an HDMI connection):
- Open g-c-c and go to the Displays panel
- With the displays panel open, disconnect the HDMI cable, then plug it back
- When the screen is back, g-c-c is gone (crashed)
Backtrace of the crash looks something like this:
(gdb) bt
#0 0x00007fd18dfaef60 in g_variant_is_trusted (value=value@entry=0x0) at ../../../../glib/gvariant-core.c:607
#1 0x00007fd18dfab933 in g_variant_builder_add_value (builder=builder@entry=0x5603606eb000, value=0x0) at ../../../../glib/gvariant.c:3490
#2 0x00007fd18dfabd8e in g_variant_builder_close (builder=0x7ffe4fbd9770) at ../../../../glib/gvariant.c:3614
#3 0x000056035f80a684 in monitor_labeler_show (self=0x5603606ec8d0 [CcDisplayPanel]) at cc-display-panel.c:231
#4 0x000056035f80a737 in ensure_monitor_labels (self=0x5603606ec8d0 [CcDisplayPanel]) at cc-display-panel.c:254
#5 0x000056035f810a4c in on_screen_changed (panel=0x5603606ec8d0 [CcDisplayPanel]) at cc-display-panel.c:2243
#9 0x00007fd18e2693bf in <emit signal ??? on instance 0x560360774140 [CcDisplayConfigManagerDBus]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../../gobject/gsignal.c:3447
#6 0x00007fd18e24dd55 in g_closure_invoke (closure=0x56036076c840, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffe4fbd9a60, invocation_hint=invocation_hint@entry=0x7ffe4fbd99e0)
at ../../../../gobject/gclosure.c:804
#7 0x00007fd18e260502 in signal_emit_unlocked_R (node=node@entry=0x560360947870, detail=detail@entry=0, instance=instance@entry=0x560360774140, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe4fbd9a60) at ../../../../gobject/gsignal.c:3635
#8 0x00007fd18e268fd8 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe4fbd9c10) at ../../../../gobject/gsignal.c:3391
#10 0x000056035f81b3e4 in _cc_display_config_manager_emit_changed (self=0x560360774140 [CcDisplayConfigManagerDBus]) at cc-display-config-manager.c:54
#11 0x000056035f81b764 in got_current_state (object=0x56035ff3b130 [GDBusConnection], result=0x5603606deb70, data=0x560360774140) at cc-display-config-manager-dbus.c:81
#12 0x00007fd18e51a483 in g_task_return_now (task=0x5603606deb70 [GTask]) at ../../../../gio/gtask.c:1145
#13 0x00007fd18e51af46 in g_task_return (task=0x5603606deb70 [GTask], type=<optimized out>) at ../../../../gio/gtask.c:1203
#14 0x00007fd18e54ded2 in g_dbus_connection_call_done (source=<optimized out>, result=0x560360744120, user_data=0x5603606deb70) at ../../../../gio/gdbusconnection.c:5722
#15 0x00007fd18e51a483 in g_task_return_now (task=0x560360744120 [GTask]) at ../../../../gio/gtask.c:1145
#16 0x00007fd18e51a4b9 in complete_in_idle_cb (task=0x560360744120) at ../../../../gio/gtask.c:1159
#17 0x00007fd18df7250a in g_main_dispatch (context=0x56035ff2e880) at ../../../../glib/gmain.c:3148
#18 0x00007fd18df7250a in g_main_context_dispatch (context=context@entry=0x56035ff2e880) at ../../../../glib/gmain.c:3813
#19 0x00007fd18df728c8 in g_main_context_iterate (context=context@entry=0x56035ff2e880, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3886
#20 0x00007fd18df7297c in g_main_context_iteration (context=context@entry=0x56035ff2e880, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3947
#21 0x00007fd18e52fead in g_application_run (application=0x56035ff30de0 [CcApplication], argc=2, argv=0x7ffe4fbda0a8) at ../../../../gio/gapplication.c:2401
#22 0x000056035f7dbf08 in main (argc=2, argv=0x7ffe4fbda0a8) at main.c:57