Skip to content

Disconnecting mouse that is hovering over button on wayland client results in Segmentation fault #403

Closed
@fredrmag

Description

Environment

flutter-embedded-linux: 16aac2c
Flutter 3.3.10
Framework • revision 135454af32 • 2022-12-15 07:36:55 -0800
Engine • revision 3316dd8728
Tools • Dart 2.18.6 • DevTools 2.15.0
weston 10.0.1

Hardware: IMX8M mini

Steps to reproduce

  1. Build the sample application and place it on the device.
  2. Start application using flutter-client:
export XDG_RUNTIME_DIR=/run/user/1000
export WAYLAND_DISPLAY=wayland-0
flutter-client -b /usr/share/sample -f
  1. Connect USB mouse
  2. Hover over (+) button so that mouse pointer changes icon from "basic" to "click"
  3. Disconnect USB mouse.

These steps results in Segmentation Fault.

Debug information

Running the flutter-client with FLUTTER_LOG_LEVELS=TRACE and doing the above steps, results in the following:

FLUTTER_LOG_LEVELS=TRACE flutter-client -b /usr/share/spingui_flutter -f
[TRACE][elinux_window_wayland.cc(171)] presentation info: clk_id = 1
[INFO][elinux_window_wayland.cc(606)] Display scale for output(9): 1
[INFO][elinux_window_wayland.cc(573)] Display output info: width = 1024, height = 600, refresh = 59269
[TRACE][elinux_window_wayland.cc(1148)] Created the Wayland surface: 1024x600
[TRACE][elinux_window_wayland.cc(143)] window entered output 9
Segmentation fault

Running flutter-client with the option -n does not produce the same error.

Recompiling the flutter-client with additional TRACE logging, and doing the above steps, results in the following:

See log
FLUTTER_LOG_LEVELS=TRACE ./flutter-client -b /usr/share/sample -f
[TRACE][elinux_window_wayland.cc(171)] presentation info: clk_id = 1
[INFO][elinux_window_wayland.cc(616)] Display scale for output(9): 1
[INFO][elinux_window_wayland.cc(583)] Display output info: width = 1024, height = 600, refresh = 59269
[TRACE][elinux_window_wayland.cc(1158)] Created the Wayland surface: 1024x600
[TRACE][elinux_window_wayland.cc(143)] window entered output 9
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2015
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2037
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2037
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2042
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2042
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2042
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2042
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2047
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2056
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2058
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2060
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2060
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2060
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2063
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2068
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2073
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(291)] wl_pointer_listener.enter
[TRACE][elinux_window_wayland.cc(294)] wl_pointer_listener.enter.use_mouse_cursor
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2075
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2075
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2075
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 0
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: click
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2075
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
[TRACE][elinux_window_wayland.cc(1296)] wl_pointer_set_cursor end
[TRACE][elinux_window_wayland.cc(1297)] wl_surface_attach start
[TRACE][elinux_window_wayland.cc(1299)] wl_surface_attach end
[TRACE][elinux_window_wayland.cc(1303)] UpdateFlutterCursor if(buffer) end
[TRACE][elinux_window_wayland.cc(314)] wl_pointer_listener.leave
[TRACE][elinux_window_wayland.cc(317)] cursor_info_.cursor_name.clear() start
[TRACE][elinux_window_wayland.cc(321)] cursor_info_.cursor_name.clear() end
[TRACE][elinux_window_wayland.cc(325)] binding_handler_delegate_->OnPointerLeave() start
[TRACE][flutter_elinux_view.cc(397)] event_data.phase == FlutterPointerPhase::kRemove
[TRACE][flutter_elinux_view.cc(399)] ResetMouseState() start
[TRACE][flutter_elinux_view.cc(401)] ResetMouseState() end
[TRACE][elinux_window_wayland.cc(327)] binding_handler_delegate_->OnPointerLeave() end
[TRACE][elinux_window_wayland.cc(330)] self->pointer_x_ and self->pointer_y_ = -1;
[TRACE][elinux_window_wayland.cc(254)] wl_pointer_destroy(self->wl_pointer_) start
[TRACE][elinux_window_wayland.cc(257)] wl_pointer_destroy(self->wl_pointer_) end
[TRACE][elinux_window_wayland.cc(1261)] wl_pointer_: 0
[TRACE][elinux_window_wayland.cc(1262)] cursor_info_.cursor_name.empty(): 1
[TRACE][elinux_window_wayland.cc(1263)] cursor_info_.cursor_name:
[TRACE][elinux_window_wayland.cc(1266)] cursor_info_.cursor_name: basic
[TRACE][elinux_window_wayland.cc(1279)] GetWlCursor() start
[TRACE][elinux_window_wayland.cc(1281)] GetWlCursor() end
[TRACE][elinux_window_wayland.cc(1288)] UpdateFlutterCursor if(buffer) start
[TRACE][elinux_window_wayland.cc(1289)] cursor_info_.pointer: 0xaaaad1c10ba0
[TRACE][elinux_window_wayland.cc(1290)] cursor_info_.serial: 2075
[TRACE][elinux_window_wayland.cc(1291)] wl_cursor_surface_: 0xaaaad1a38360
[TRACE][elinux_window_wayland.cc(1292)] wl_pointer_set_cursor start
Segmentation fault

Interpretation

UpdateFlutterCursor in elinux_window_wayland.cc is called after pointer is destroyed.

Adding the following to the top of the UpdateFlutterCursor function in elinux_window_wayland.cc seems to fix the bug:

if (!wl_pointer_){
  return;
}

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwaylandTopics of Wayland

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions