Просмотр исходного кода

Wayland: clear button mask on pointer leave

While experimenting with the recent "extent to title" PR, I noticed that
it's not guaranteed for a "button released" event to be emitted when
the pointer leaves the main surface, leaving some buttons stuck.

Not doing this for tablets since the spec makes this behavior clear and
explicit, so we (hopefully) shouldn't have this issue there.
Riteo 1 год назад
Родитель
Сommit
343ea9c6f7
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      platform/linuxbsd/wayland/wayland_thread.cpp

+ 2 - 0
platform/linuxbsd/wayland/wayland_thread.cpp

@@ -1395,6 +1395,8 @@ void WaylandThread::_wl_pointer_on_leave(void *data, struct wl_pointer *wl_point
 
 	ss->pointed_surface = nullptr;
 
+	ss->pointer_data_buffer.pressed_button_mask.clear();
+
 	Ref<WindowEventMessage> msg;
 	msg.instantiate();
 	msg->event = DisplayServer::WINDOW_EVENT_MOUSE_EXIT;