all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Manuel Giraud <manuel@ledu-giraud.fr>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, 59351@debbugs.gnu.org
Subject: bug#59351: 29.0.50; [PATCH] Fix mouse click position to menu bar entry
Date: Wed, 23 Nov 2022 17:43:39 +0100	[thread overview]
Message-ID: <871qpt7hac.fsf@elite.giraud> (raw)
In-Reply-To: <83iljc9k5s.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 18 Nov 2022 20:45:03 +0200")

Eli Zaretskii <eliz@gnu.org> writes:

[...]

>> About the height of the menu bar, you were right.  I've tested and
>> display_menu_bar is called quite often and is called after a
>> (set-face-font 'menu "Iosevka-18").  So maybe it is the last call to
>> compute_line_metrics that does not do the required job.
>
> I suggest to step through the code there and see why that happens.
> Feel free to describe what you see if the reason is not obvious.

Hi,

I think I might be onto something for the misbehaving update of the menu
bar height when changing font face (in --with-x-toolkit=no build).

The main difficulty was to set correct breakpoint because
display_menu_bar is called quite often.  So I'm starting my GDB session
with:

--8<---------------cut here---------------start------------->8---
set args -Q
break xdisp.c:3412 if ((base_face_id == MENU_FACE_ID) && (face->font->height > 14))
run
--8<---------------cut here---------------end--------------->8---

I think the previous 14 in the breakpoint should be adapt to not trigger
at the initial face and to do trigger after face font changed.  Then
from the scracth buffer of this emacs, I type: (set-face-font 'menu
"Iosevka-18") and evaluate it.  The breakpoint triggers as this font is
quite big.

Then from GDB, I do:

--8<---------------cut here---------------start------------->8---
tbreak 26337
continue
step
--8<---------------cut here---------------end--------------->8---

This last step goes into this compute_line_metrics call.  Everything
seems fine up to xdisp.c:22886.  Before this conditional, I have the
following values:

--8<---------------cut here---------------start------------->8---
row->y = 0
row->height = 31
row->visible_height = 31
max_y = 13
--8<---------------cut here---------------end--------------->8---

And so after it, row->visible_height becomes 13.  So maybe that is why
the menu bar is not update to have more height here.  WDYT?
-- 
Manuel Giraud





  parent reply	other threads:[~2022-11-23 16:43 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-18  8:37 bug#59351: 29.0.50; [PATCH] Fix mouse click position to menu bar entry Manuel Giraud
2022-11-18 10:43 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-18 11:01   ` Manuel Giraud
2022-11-18 11:42     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-18 12:10       ` Manuel Giraud
2022-11-18 13:19         ` Eli Zaretskii
2022-11-18 13:24         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-18 11:58     ` Eli Zaretskii
2022-11-18 12:15       ` Manuel Giraud
2022-11-18 12:29         ` Eli Zaretskii
2022-11-18 12:41           ` Manuel Giraud
2022-11-18 12:51             ` Eli Zaretskii
2022-11-18 13:12               ` Manuel Giraud
2022-11-18 13:23               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-18 13:40                 ` Manuel Giraud
2022-11-18 14:08                 ` Manuel Giraud
2022-11-18 14:14                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-18 14:31                 ` Eli Zaretskii
2022-11-18 13:20           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-18 13:20       ` Manuel Giraud
2022-11-18 14:30         ` Eli Zaretskii
2022-11-18 15:20           ` Manuel Giraud
2022-11-18 15:26             ` Eli Zaretskii
2022-11-18 17:23               ` Manuel Giraud
2022-11-18 18:45                 ` Eli Zaretskii
2022-11-21 13:40                   ` Manuel Giraud
2022-11-21 14:23                     ` Eli Zaretskii
2022-11-21 14:46                       ` Manuel Giraud
2022-11-21 18:12                         ` Eli Zaretskii
2022-11-22  0:34                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-23 16:43                   ` Manuel Giraud [this message]
2022-11-23 17:31                     ` Eli Zaretskii
2022-11-24 13:49                       ` Manuel Giraud
2022-11-25 14:55                       ` Manuel Giraud
2022-11-25 15:00                         ` Manuel Giraud
2022-11-26 12:49                           ` Eli Zaretskii
2022-11-26 17:26                             ` Manuel Giraud
2022-11-26 17:38                               ` Eli Zaretskii
2022-11-27  0:51                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-27  6:40                                   ` Eli Zaretskii
2022-11-28 17:07                                     ` Manuel Giraud
2022-11-29  0:47                                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-29  8:00                                         ` Manuel Giraud
2022-11-29  9:37                                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-01 10:30                                             ` Manuel Giraud
2022-11-29 12:14                                         ` Eli Zaretskii
2022-11-29 12:19                                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-01 12:31                                       ` Eli Zaretskii
2022-12-01 16:23                                         ` Manuel Giraud
2022-12-01 16:50                                           ` Eli Zaretskii
2022-11-19  0:22                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-19  9:19                   ` Manuel Giraud
2022-11-18 11:42 ` Eli Zaretskii
2022-11-18 12:12   ` Manuel Giraud
2022-11-18 12:26     ` Eli Zaretskii
2022-11-18 13:16       ` Manuel Giraud
2022-11-18 14:16         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871qpt7hac.fsf@elite.giraud \
    --to=manuel@ledu-giraud.fr \
    --cc=59351@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=luangruo@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.