elementary / switchboard-plug-display

Switchboard Displays Plug
https://elementary.io
GNU General Public License v3.0
14 stars 18 forks source link

Switching mirror on and off breaks the display view #374

Open leolost2605 opened 8 months ago

leolost2605 commented 8 months ago

What Happened?

RecApp-2024-01-23-22:32:18.webm

Another time it crashed instead of breaking but I don't know how to reproduce that.

Steps to Reproduce

  1. Compile latest master
  2. Have two monitors connected
  3. Toggle mirror display on and off again

Expected Behavior

Don't break

OS Version

7.x (Horus)

Software Version

Compiled from git

Log Output

(io.elementary.switchboard:54553): GLib-GObject-WARNING **: 22:32:25.452: ../../../gobject/gsignal.c:2765: instance '0x5635e3ee81b0' has no handler with id '2273'

(io.elementary.switchboard:54553): GLib-GObject-WARNING **: 22:32:26.382: ../../../gobject/gsignal.c:2765: instance '0x5635e3ee83a0' has no handler with id '2687'

Every time the switch is toggled one of these gets emitted.

The time it crashed I got the same but also

(io.elementary.switchboard:53610): Gtk-CRITICAL **: 22:28:19.787: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed

followed by a segfault. I don't know how to reproduce the crash though.

Hardware Info

No response

jeremypw commented 7 months ago

I also got a crash on the latest source. This is the backtrace:

(gdb) bt
#0  0x00007fffec11fe82 in display_displays_overlay_rescan_displays (self=0x555558066cf0) at ../src/Widgets/DisplaysOverlay.vala:189
#1  0x00007fffec123bbb in _display_displays_overlay___lambda15_ (self=0x555558066cf0) at ../src/Widgets/DisplaysOverlay.vala:90
#2  0x00007fffec123be2 in __display_displays_overlay___lambda15__g_object_notify
    (_sender=0x555558085b30, pspec=0x555558135650, self=0x555558066cf0) at ../src/Widgets/DisplaysOverlay.vala:90
#3  0x00007ffff7f452fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff7f7490c in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff7f65591 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007ffff7f657c1 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007ffff7f65883 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007ffff7f512e4 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff7f579ca in g_object_notify () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007fffec10c03c in display_monitor_manager_enable_clone_mode (self=0x555558085b30) at ../src/Objects/MonitorManager.vala:331
--Type <RET> for more, q to quit, c to continue without paging--
#11 0x00007fffec11305b in _display_displays_view___lambda22_ (_data3_=0x7fffe4008440) at ../src/Views/DisplaysView.vala:123
#12 0x00007fffec1130b9 in __display_displays_view___lambda22__g_object_notify
    (_sender=0x55555825ec40, pspec=0x55555813cf70, self=0x7fffe4008440) at ../src/Views/DisplaysView.vala:121
#13 0x00007ffff7f452fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff7f7490c in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff7f65591 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff7f657c1 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff7f65883 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff7f512e4 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff7f548b3 in g_object_notify_by_pspec () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff761da84 in gtk_switch_set_active () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#21 0x00007ffff761dc0d in ??? () at /lib/x86_64-linux-gnu/libgtk-4.so.1
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x00007ffff76745f5 in ??? () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#23 0x00007ffff7f452fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff7f7490c in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff7f65591 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff7f657c1 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff7f65883 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff784d946 in ??? () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#29 0x00007ffff784dbee in ??? () at /lib/x86_64-linux-gnu/libgtk-4.so.1
#30 0x00007ffff7147532 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff714649e in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff71a5727 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff7145a63 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#34 0x00007ffff731982d in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#35 0x0000555555560c96 in switchboard_switchboard_app_main (args=0x7fffffffdcd8, args_length1=1) at ../src/Application.vala:332
#36 0x0000555555560cdd in main (argc=1, argv=0x7fffffffdcd8) at ../src/Application.vala:330