From: martin rudalics <rudalics@gmx.at>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 46827@debbugs.gnu.org, rpluim@gmail.com, stephen.berman@gmx.net
Subject: bug#46827: Broken initial size of GTK3 frame
Date: Wed, 3 Mar 2021 09:48:16 +0100 [thread overview]
Message-ID: <83a5e0e7-a55d-48bf-00f6-942d6c6c3be5@gmx.at> (raw)
In-Reply-To: <83tupt5x95.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1629 bytes --]
> Thanks, but is there any reason to remove the call before updating the
> tool bar? You see, I believe one of the reasons for the need to
> clear_garbaged_frames is that call you suggest to remove. Why not
> leave it there, and _add_ one more call after prepare_menu_bars (and
> perhaps condition it on the same condition as prepare_menu_bars)?
We can obviously do that (see attached patch). But is there any reason
we cannot run the
do_pending_window_change (true);
clear_garbaged_frames ();
_after_ the
prepare_menu_bars ();
do_pending_window_change (true);
block?
In either case, the more I look into this, the more things confuse me.
For example, why does
if (!must_finish)
{
do_pending_window_change (true);
/* If selected_window changed, redisplay again. */
if (WINDOWP (selected_window)
&& (w = XWINDOW (selected_window)) != sw)
goto retry;
not check for windows_or_buffers_changed too just as we do after the
third do_pending_window_change call? But then I don't understand why we
check for windows_or_buffers_changed at all. adjust_frame_size doesn't
set that IIUC but it does garbage the frame - why don't we check that in
redisplay_internal?
>> While frame resizing can make the
>> selected window small, it will neither remove nor change it.
>
> Never-ever?
Never-ever. Fdelete_window_internal, Fdelete_other_windows_internal and
Fset_window_configuration are the only functions allowed to delete
windows. run_window_change_functions could delete the selected window
so we probably should do the w == sw check after that now.
martin
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: xdisp.c.diff --]
[-- Type: text/x-patch; name="xdisp.c.diff", Size: 586 bytes --]
diff --git a/src/xdisp.c b/src/xdisp.c
index cc0a689ba3..78f25af991 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15658,7 +15658,13 @@ redisplay_internal (void)
/* Build menubar and tool-bar items. */
if (NILP (Vmemory_full))
- prepare_menu_bars ();
+ {
+ prepare_menu_bars ();
+
+ /* Once more taking into account the new tool bar height
+ (Bug#46827). */
+ do_pending_window_change (true);
+ }
/* do_pending_window_change could change the selected_window due to
frame resizing which makes the selected window too small.
next prev parent reply other threads:[~2021-03-03 8:48 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-28 9:31 bug#46827: Broken initial size of GTK3 frame martin rudalics
2021-02-28 18:09 ` Eli Zaretskii
2021-03-01 8:32 ` martin rudalics
2021-03-01 9:46 ` martin rudalics
2021-03-01 8:31 ` martin rudalics
2021-03-01 10:15 ` Robert Pluim
2021-03-01 12:38 ` martin rudalics
2021-03-01 13:30 ` Robert Pluim
2021-03-01 13:53 ` Robert Pluim
2021-03-01 18:03 ` martin rudalics
2021-03-01 18:23 ` Robert Pluim
2021-03-01 18:32 ` Robert Pluim
2021-03-01 19:05 ` martin rudalics
2021-03-01 19:04 ` martin rudalics
2021-03-01 20:00 ` Robert Pluim
2021-03-02 8:24 ` martin rudalics
2021-03-01 19:49 ` Stephen Berman
2021-03-02 8:24 ` martin rudalics
2021-03-02 9:07 ` martin rudalics
2021-03-02 10:11 ` Robert Pluim
2021-03-02 14:11 ` Eli Zaretskii
2021-03-02 16:07 ` martin rudalics
2021-03-02 16:35 ` Eli Zaretskii
2021-03-03 8:48 ` martin rudalics [this message]
2021-03-03 9:05 ` Eli Zaretskii
2021-03-03 9:40 ` martin rudalics
2021-03-06 11:15 ` Eli Zaretskii
2021-03-06 19:28 ` martin rudalics
2021-03-02 9:17 ` Stephen Berman
2021-03-02 10:02 ` martin rudalics
2021-03-01 18:03 ` martin rudalics
2021-03-01 14:07 ` Eli Zaretskii
2021-03-01 18:04 ` martin rudalics
2021-04-27 8:23 ` martin rudalics
2021-04-29 16:13 ` Juri Linkov
2021-04-29 17:06 ` martin rudalics
2021-04-29 23:06 ` Juri Linkov
2021-04-30 6:26 ` martin rudalics
2021-04-30 17:12 ` Juri Linkov
2021-04-30 17:37 ` martin rudalics
2021-05-01 20:06 ` Juri Linkov
2021-05-02 7:38 ` martin rudalics
2021-05-02 20:46 ` Juri Linkov
2021-05-03 7:49 ` martin rudalics
2021-05-03 16:40 ` Juri Linkov
2021-05-03 16:51 ` martin rudalics
2021-05-03 17:01 ` Juri Linkov
2021-05-03 17:32 ` martin rudalics
2021-05-04 8:07 ` martin rudalics
2021-05-04 21:33 ` Juri Linkov
2021-05-05 7:25 ` martin rudalics
2021-05-05 20:34 ` Juri Linkov
2021-05-06 7:45 ` martin rudalics
2021-05-07 16:52 ` Juri Linkov
2021-05-10 8:23 ` martin rudalics
2021-05-10 20:39 ` Juri Linkov
2021-05-11 8:44 ` martin rudalics
2021-05-11 17:49 ` Juri Linkov
2021-05-12 8:47 ` martin rudalics
2021-05-12 17:28 ` Juri Linkov
2021-05-13 7:54 ` martin rudalics
2021-05-13 16:24 ` Juri Linkov
2021-05-14 7:08 ` martin rudalics
2021-05-14 18:10 ` Juri Linkov
2021-05-15 7:56 ` martin rudalics
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83a5e0e7-a55d-48bf-00f6-942d6c6c3be5@gmx.at \
--to=rudalics@gmx.at \
--cc=46827@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=rpluim@gmail.com \
--cc=stephen.berman@gmx.net \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).