1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-07 08:00:48 -08:00

Prevent cursors from being set on tooltip frames on Haiku

* src/haikuterm.c (haiku_show_hourglass, haiku_hide_hourglass)
(haiku_define_frame_cursor, haiku_toggle_invisible_pointer):
Ignore tooltip frames.  Otherwise, the cursor changes every time
a tooltip is mapped.
This commit is contained in:
Po Lu 2022-04-30 02:34:18 +00:00
parent 08108a856a
commit a33bf01149

View file

@ -2005,7 +2005,8 @@ haiku_draw_window_cursor (struct window *w,
static void
haiku_show_hourglass (struct frame *f)
{
if (FRAME_OUTPUT_DATA (f)->hourglass_p)
if (FRAME_TOOLTIP_P (f)
|| FRAME_OUTPUT_DATA (f)->hourglass_p)
return;
block_input ();
@ -2020,7 +2021,8 @@ haiku_show_hourglass (struct frame *f)
static void
haiku_hide_hourglass (struct frame *f)
{
if (!FRAME_OUTPUT_DATA (f)->hourglass_p)
if (FRAME_TOOLTIP_P (f)
|| !FRAME_OUTPUT_DATA (f)->hourglass_p)
return;
block_input ();
@ -2659,8 +2661,9 @@ haiku_flush (struct frame *f)
static void
haiku_define_frame_cursor (struct frame *f, Emacs_Cursor cursor)
{
if (f->tooltip)
if (FRAME_TOOLTIP_P (f))
return;
block_input ();
if (!f->pointer_invisible && FRAME_HAIKU_VIEW (f)
&& !FRAME_OUTPUT_DATA (f)->hourglass_p)
@ -3852,12 +3855,12 @@ haiku_toggle_invisible_pointer (struct frame *f, bool invisible_p)
{
void *view = FRAME_HAIKU_VIEW (f);
if (view)
if (view && !FRAME_TOOLTIP_P (f))
{
block_input ();
BView_set_view_cursor (view, invisible_p ?
FRAME_OUTPUT_DATA (f)->no_cursor :
FRAME_OUTPUT_DATA (f)->current_cursor);
BView_set_view_cursor (view, (invisible_p
? FRAME_OUTPUT_DATA (f)->no_cursor
: FRAME_OUTPUT_DATA (f)->current_cursor));
f->pointer_invisible = invisible_p;
unblock_input ();
}