Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix segfault in Wayland session during Alt-Tab when window focus mode is either 'Sloppy' or 'Mouse' (gdb backtrace attached) #680

Merged
merged 1 commit into from
May 8, 2024

Conversation

rcalixte
Copy link
Member

@rcalixte rcalixte commented Dec 3, 2023

 (gdb) bt
 #0  meta_wayland_surface_get_relative_coordinates (surface=0x0, abs_x=719, abs_y=405, sx=0x7ffe15cea768, sy=0x7ffe15cea76c) at ../src/wayland/meta-wayland-surface.c:1569
 #1  0x00007fba6070ec62 in meta_wayland_pointer_get_relative_coordinates
      (pointer=pointer@entry=0x564387be1670, surface=surface@entry=0x0, sx=sx@entry=0x7ffe15cea7a8, sy=sy@entry=0x7ffe15cea7ac) at ../src/wayland/meta-wayland-pointer.c:1061
 #2  0x00007fba6070ef13 in meta_wayland_pointer_send_enter (surface=0x0, serial=38, pointer_resource=0x56438b2179e0, pointer=0x564387be1670)
      at ../src/wayland/meta-wayland-pointer.c:850
 #3  meta_wayland_pointer_broadcast_enter (surface=0x0, serial=38, pointer=0x564387be1670) at ../src/wayland/meta-wayland-pointer.c:875
 #4  meta_wayland_pointer_set_focus (pointer=0x564387be1670, surface=<optimized out>) at ../src/wayland/meta-wayland-pointer.c:967
 #5  0x00007fba6070f573 in repick_for_event (pointer=0x564387be1670, for_event=<optimized out>) at ../src/wayland/meta-wayland-pointer.c:640
 #6  0x00007fba6070f6df in meta_wayland_pointer_repick (pointer=<optimized out>) at ../src/wayland/meta-wayland-pointer.c:1048
 #7  0x00007fba60712799 in meta_wayland_seat_repick (seat=<optimized out>) at ../src/wayland/meta-wayland-seat.c:441
 #8  0x00007fba606b09a0 in meta_display_sync_wayland_input_focus (display=<optimized out>) at ../src/core/display.c:1457
 #9  0x00007fba606942a0 in meta_end_modal_for_plugin (compositor=0x564387f6fe10, plugin=0x564387beeae0, timestamp=140036) at ../src/compositor/compositor.c:495
 #10 0x00007fba6069bef8 in meta_plugin_end_modal (plugin=<optimized out>, timestamp=<optimized out>) at ../src/compositor/meta-plugin.c:187
 #11 0x00007fba60e719eb in cinnamon_global_end_modal (global=0x564387fef940, timestamp=140036) at ../src/cinnamon-global.c:1000

Soft rebase from Mutter 40.10:

  • Adding clutter_stage_get_device_coords()
  • Adding PointerDeviceEntry struct
  • Updating _ClutterStagePrivate struct
  • Adding free_pointer_device_entry()
  • Cherry-pick for clutter_stage_finalize()
  • Cherry-pick for clutter_stage_init()
  • Cherry-pick for on_device_actor_reactive_changed()
  • Cherry-pick for on_device_actor_destroyed()
  • Cherry-pick and adding null-pointer check for repick_for_event()
  • Cherry-pick and adding null-pointer check for meta_wayland_pointer_set_focus()
  • Cherry-pick for meta_wayland_pointer_get_relative_coordinates()
  • Add null checks for meta_wayland_surface_get_relative_coordinates()

Fix meson.build warning:

  • path() -> full_path()

@rcalixte rcalixte changed the title Fix segfault during Alt-Tab when window focus mode is either 'Sloppy' or 'Mouse' (gdb backtrace attached) Fix segfault in Wayland session during Alt-Tab when window focus mode is either 'Sloppy' or 'Mouse' (gdb backtrace attached) Dec 4, 2023
@rcalixte rcalixte force-pushed the alt_tabbin branch 2 times, most recently from 9513363 to 94791f6 Compare December 5, 2023 11:06
@rcalixte rcalixte force-pushed the alt_tabbin branch 2 times, most recently from ca8d788 to bc8480e Compare January 25, 2024 12:50
… or 'Mouse' (gdb backtrace attached)

 (gdb) bt
 #\0  meta_wayland_surface_get_relative_coordinates (surface=0x0, abs_x=719, abs_y=405, sx=0x7ffe15cea768, sy=0x7ffe15cea76c) at ../src/wayland/meta-wayland-surface.c:1569
 #\1  0x00007fba6070ec62 in meta_wayland_pointer_get_relative_coordinates
      (pointer=pointer@entry=0x564387be1670, surface=surface@entry=0x0, sx=sx@entry=0x7ffe15cea7a8, sy=sy@entry=0x7ffe15cea7ac) at ../src/wayland/meta-wayland-pointer.c:1061
 #\2  0x00007fba6070ef13 in meta_wayland_pointer_send_enter (surface=0x0, serial=38, pointer_resource=0x56438b2179e0, pointer=0x564387be1670)
      at ../src/wayland/meta-wayland-pointer.c:850
 #\3  meta_wayland_pointer_broadcast_enter (surface=0x0, serial=38, pointer=0x564387be1670) at ../src/wayland/meta-wayland-pointer.c:875
 #\4  meta_wayland_pointer_set_focus (pointer=0x564387be1670, surface=<optimized out>) at ../src/wayland/meta-wayland-pointer.c:967
 #\5  0x00007fba6070f573 in repick_for_event (pointer=0x564387be1670, for_event=<optimized out>) at ../src/wayland/meta-wayland-pointer.c:640
 #\6  0x00007fba6070f6df in meta_wayland_pointer_repick (pointer=<optimized out>) at ../src/wayland/meta-wayland-pointer.c:1048
 #\7  0x00007fba60712799 in meta_wayland_seat_repick (seat=<optimized out>) at ../src/wayland/meta-wayland-seat.c:441
 #\8  0x00007fba606b09a0 in meta_display_sync_wayland_input_focus (display=<optimized out>) at ../src/core/display.c:1457
 #\9  0x00007fba606942a0 in meta_end_modal_for_plugin (compositor=0x564387f6fe10, plugin=0x564387beeae0, timestamp=140036) at ../src/compositor/compositor.c:495
 #\10 0x00007fba6069bef8 in meta_plugin_end_modal (plugin=<optimized out>, timestamp=<optimized out>) at ../src/compositor/meta-plugin.c:187
 #\11 0x00007fba60e719eb in cinnamon_global_end_modal (global=0x564387fef940, timestamp=140036) at ../src/cinnamon-global.c:1000

Soft rebase from Mutter 40.10:
* Adding clutter_stage_get_device_coords()
* Adding PointerDeviceEntry struct
* Updating _ClutterStagePrivate struct
* Cherry-pick for repick_for_event()
* Cherry-pick and adding null-pointer check for meta_wayland_pointer_set_focus()
* Cherry-pick for meta_wayland_pointer_get_relative_coordinates()
* Add null checks for meta_wayland_surface_get_relative_coordinates()

Fix meson.build warning:
* path() -> full_path()
@mtwebster mtwebster merged commit b15de53 into linuxmint:master May 8, 2024
2 checks passed
@rcalixte rcalixte deleted the alt_tabbin branch May 8, 2024 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants