diff options
| -rw-r--r-- | src/Fl_Window_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/Fl_Window_Driver.H b/src/Fl_Window_Driver.H index 51d0187e3..21007d9df 100644 --- a/src/Fl_Window_Driver.H +++ b/src/Fl_Window_Driver.H @@ -112,6 +112,7 @@ public: char show_iconic() { return Fl_Window::show_iconic_; } void show_iconic(char c) { Fl_Window::show_iconic_ = c; } void flx(Fl_X *x) { pWindow->flx_ = x; } + Fl_Cursor cursor_default() { return pWindow->cursor_default; } /** for an Fl_Overlay_Window, returns the value of its overlay_ member variable */ Fl_Window *overlay() { return pWindow->as_overlay_window() ? pWindow->as_overlay_window()->overlay_ : NULL; diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx index f25afbad4..30827508e 100644 --- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx @@ -434,12 +434,13 @@ static void cursor_surface_enter(void *data, //fprintf(stderr, "cursor_surface_enter: wl_output_get_user_data(%p)=%p\n", wl_output, pointer_output->output); wl_list_insert(&seat->pointer_outputs, &pointer_output->link); try_update_cursor(seat); - // maintain custom window cursor + // maintain custom or standard window cursor Fl_Window *win = Fl::first_window(); if (win) { Fl_Wayland_Window_Driver *driver = Fl_Wayland_Window_Driver::driver(win); struct wl_cursor *cursor = driver->cursor(); if (cursor) do_set_cursor(seat, cursor); + else driver->set_cursor(driver->cursor_default()); } } |
