GNU bug report logs - #25542
25.1; Restoring the frame from fullscreen to maximized

Previous Next

Package: emacs;

Reported by: Dani Moncayo <dmoncayo <at> gmail.com>

Date: Thu, 26 Jan 2017 08:16:02 UTC

Severity: normal

Found in version 25.1

Done: Ken Brown <kbrown <at> cornell.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ken Brown <kbrown <at> cornell.edu>
To: martin rudalics <rudalics <at> gmx.at>, Dani Moncayo <dmoncayo <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org>
Cc: Lars Magne Ingebrigtsen <larsi <at> gnus.org>, 25542 <at> debbugs.gnu.org, Noam Postavsky <npostavs <at> users.sourceforge.net>
Subject: bug#25542: 25.1; Restoring the frame from fullscreen to maximized
Date: Thu, 10 Sep 2020 11:05:24 -0400
On 9/10/2020 3:16 AM, martin rudalics wrote:
>  >> I just tried this on a Cygwin-w32 build from the master branch.  I put the 
> taskbar on the left, started emacs, maximized it, attached gdb, put breakpoints 
> at each of the ShowWindow lines, and ran through Dani's recipe for producing the 
> bug.  The breakpoints were never hit.
>  >
>  > I just tried again, but this time with a breakpoint at w32fullscreen_hook so 
> that I could follow the flow.  Here are the relevant excerpts from the gdb session:
> 
> Thank you very much for checking.
> 
>  > Breakpoint 2 at 0x10069507a: file ../../master/src/w32term.c, line 6441.
>  > (gdb) r -Q
>  > Starting program: /home/kbrown/src/emacs/x86_64-w32/src/emacs -Q
>  >
>  > [...]
>  >
>  > [Press F11]
>  >
>  > Thread 1 "emacs" hit Breakpoint 2, w32fullscreen_hook (f=0x8001f7c88)
>  >      at ../../master/src/w32term.c:6441
> [...]
>  > 6464          FRAME_PREV_FSMODE (f) = f->want_fullscreen;
>  > (gdb) p f->want_fullscreen
>  > $1 = FULLSCREEN_BOTH
> 
> While this is the expected value ...
> 
>  > [...]
>  >
>  > (gdb) c
>  > Continuing.
>  >
>  > [Press F11 again]
>  >
>  > Thread 1 "emacs" hit Breakpoint 2, w32fullscreen_hook (f=0x8001f7c88)
>  >      at ../../master/src/w32term.c:6441
> [...]
>  > 6451          if (FRAME_PREV_FSMODE (f) == FULLSCREEN_NONE)
>  > (gdb) p f->want_fullscreen
>  > $2 = FULLSCREEN_NONE
> 
> ... the value I would have expected here is FULLSCREEN_MAXIMIZED.
> Something must have got broken before.  Can you please
> 
> (1) Verify that the
> 
>        f->want_fullscreen &= ~FULLSCREEN_WAIT;
> 
>      does not interfere in any respect.  That is, does f->want_fullscreen
>      have the same value FULLSCREEN_NONE before anding it with
>      FULLSCREEN_WAIT?

Yes.

> (2) Does 'toggle-frame-fullscreen' the second time when you type F11
>      correctly call
> 
>     (set-frame-parameter frame 'fullscreen fullscreen-restore)
> 
>     with 'fullscreen-restore' equal to 'maximized' at all?

No.  The value of 'fullscreen-restore' is nil.  But if I repeat the experiment 
with the taskbar on the bottom, the value of fullscreen-restore is 'maximized'.

> (3) Verify that calling w32fullscreen_hook with the taskbar on the
>      bottom does hit the breakpoints and subsequently maximize the frame
>      as expected.

With the taskbar on the bottom, f->want_fullscreen == FULLSCREEN_MAXIMIZED when 
I hit line 6449 after the second F11, and everything goes as expected after that.

Ken




This bug report was last modified 4 years and 258 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.