GNU bug report logs -
#75930
30.0.92; Setting default frame background color messes up mouse pointer
Previous Next
Full log
View this message in rfc822 format
> From: rustand.lars <at> gmail.com
> Cc: 75930 <at> debbugs.gnu.org
> Date: Thu, 30 Jan 2025 22:04:31 +0100
>
>
> Po Lu <luangruo <at> yahoo.com> writes:
>
> > Eli Zaretskii <eliz <at> gnu.org> writes:
> >
> >> The thing is, I cannot find where this setting of the border happens
> >> in our code. It seems to be the consequence of setting the frame's
> >> background mode, which happens when you set the background color, but
> >> that's where the track went cold for me, probably because I don't know
> >> enough about the X11 graphics. I hope someone else will be able to
> >> point out where we cause that border to appear, and then a solution
> >> might be found.
> >>
> >> Po Lu, any suggestions or ideas?
> >
> > Set a breakpoint on x_set_mouse_color, perhaps?
>
> I don't think a breakpoint will be necessary, I just popped in and had a
> look at x_set_mouse_color, and it shows quite clearly that it does
> explicitly do what I experience.
>
> First it sets mask_color to the frame background near the start of the
> function:
>
> unsigned long pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
> unsigned long mask_color = FRAME_BACKGROUND_PIXEL (f);
>
>
> Then a bit further down it does this:
>
> XColor colors[2]; /* 0=foreground, 1=background */
>
> colors[0].pixel = x->mouse_pixel;
> colors[1].pixel = mask_color;
> x_query_colors (f, colors, 2);
>
> for (i = 0; i < mouse_cursor_max; i++)
> XRecolorCursor (dpy, cursor_data.cursor[i], &colors[0], &colors[1]);
>
>
> So it seems that x_set_mouse_color always sets the mouse pointer border
> color to the frame background. However, the foreground color defaults to
> BLACK_PIX_DEFAULT.
So now I'm confused: why is this a bug?
This bug report was last modified 120 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.