From bc3e9f4f6d3224af84a28eb6bb4fd1e0a4688ed1 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 25 Jul 2022 09:38:06 +0000 Subject: [PATCH] Fix mouse face handling during frame reentry on Haiku * src/haikuterm.c (haiku_read_socket): Clear last_mouse_glyph_frame like on X. --- src/haikuterm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/haikuterm.c b/src/haikuterm.c index 7630d9c103c..f2bee1263d3 100644 --- a/src/haikuterm.c +++ b/src/haikuterm.c @@ -3365,6 +3365,7 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit) if (b->just_exited_p) { Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); + if (f == hlinfo->mouse_face_mouse_frame) { /* If we move outside the frame, then we're @@ -3375,6 +3376,9 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit) haiku_flush_dirty_back_buffer_on (f); } + if (f == x_display_list->last_mouse_glyph_frame) + x_display_list->last_mouse_glyph_frame = NULL; + if (f->auto_lower && !popup_activated_p /* Don't do this if the mouse entered a scroll bar. */ && !BView_inside_scroll_bar (FRAME_HAIKU_VIEW (f), -- 2.39.2