bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#59351: 29.0.50; [PATCH] Fix mouse click position to menu bar entry


From: Po Lu
Subject: bug#59351: 29.0.50; [PATCH] Fix mouse click position to menu bar entry
Date: Sun, 27 Nov 2022 08:51:09 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> Cc: luangruo@yahoo.com,  59351@debbugs.gnu.org
>> Date: Sat, 26 Nov 2022 18:26:34 +0100
>> 
>> Eli Zaretskii <eliz@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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]