unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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: Tue, 2 Mar 2021 17:07:16 +0100	[thread overview]
Message-ID: <db6261a5-557a-4766-9fa3-05b536d53934@gmx.at> (raw)
In-Reply-To: <83zgzl63y0.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1158 bytes --]

 > What's wrong with this place?

Actually, it's not needed.  I just have to call do_pending_window_change
_after_ updating the tool bar as in the attached patch.

 > But please note that after calling
 > do_pending_window_change you need to perform the "maybe the selected
 > window changed" dance we do after other similar calls.

I suppose the

       do_pending_window_change could change the selected_window due to
       frame resizing which makes the selected window too small.

is some sort of cargo cult now.  While frame resizing can make the
selected window small, it will neither remove nor change it.

But since the menu and tool bar code _can_ change the selected window
we'll still have to cater for it.

 > Otherwise, I'm okay with this change, but only on master.  Emacs 27.2
 > will have to make do with what we have now.

Don't worry.  Even on master we could condition it on GTK3.  I'd just
want to find out why it works around the problem in the first place.

And I have a second, similar GTK3-only frame resizing problem with a
similar effect that, however, becomes virulent only after resizing a
frame manually with the mouse.

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: 826 bytes --]

diff --git a/src/xdisp.c b/src/xdisp.c
index cc0a689ba3..827a484fc9 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15650,9 +15650,6 @@ redisplay_internal (void)
       clear_desired_matrices (f);
     }

-  /* Notice any pending interrupt request to change frame size.  */
-  do_pending_window_change (true);
-
   /* Clear frames marked as garbaged.  */
   clear_garbaged_frames ();

@@ -15660,6 +15657,9 @@ redisplay_internal (void)
   if (NILP (Vmemory_full))
     prepare_menu_bars ();

+  /* Notice any pending interrupt request to change frame size.  */
+  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.
      prepare_menu_bars may call lisp hooks and hence also change the

  reply	other threads:[~2021-03-02 16:07 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 [this message]
2021-03-02 16:35                         ` Eli Zaretskii
2021-03-03  8:48                           ` martin rudalics
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=db6261a5-557a-4766-9fa3-05b536d53934@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).