GNU bug report logs -
#59351
29.0.50; [PATCH] Fix mouse click position to menu bar entry
Previous Next
Reported by: Manuel Giraud <manuel <at> ledu-giraud.fr>
Date: Fri, 18 Nov 2022 08:38:02 UTC
Severity: normal
Tags: patch
Found in version 29.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #140 received at 59351 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Manuel Giraud <manuel <at> ledu-giraud.fr>
>> Cc: luangruo <at> yahoo.com, 59351 <at> debbugs.gnu.org
>> Date: Sat, 26 Nov 2022 18:26:34 +0100
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> [...]
>>
>> > The idea looks correct, thanks. What exactly prevents this from working
>> > with multiple windows on the same frame?
>>
>> For instance, when vertically split (by C-x 3), the other window is not
>> correctly redrawn (text area is above menu bar). Everything is then
>> fixed by the next unsplit/split. Maybe, I should have use
>> adjust_frame_size here.
>
> In redisplay_internal, we have:
>
> if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f))
> {
> /* If fonts changed on visible frame, display again. */
> if (f->fonts_changed)
> {
> adjust_frame_glyphs (f);
> /* Disable all redisplay optimizations for this
> frame. For the reasons, see the comment near
> the previous call to adjust_frame_glyphs above. */
> SET_FRAME_GARBAGED (f);
> f->fonts_changed = false;
> goto retry_frame;
> }
>
> It sounds like this part is not being run in your case, so please try to
> figure out why. I think if the above code runs, what you want to do will
> happen automatically.
Now, before adding more calls to adjust_frame_size, please wait for
Emacs 29 to be cut first. That function tends to interact with X window
managers in different ways on builds with different toolkits, so adding
or removing calls to it is very likely to break stuff.
This bug report was last modified 2 years and 250 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.