Fullscreen fix for 1.9.1 & 1.9.2



Core Graveyard
Widget: OS/2
8 years ago
3 years ago


(Reporter: Rich Walsh, Assigned: Rich Walsh)


1.9.2 Branch

Firefox Tracking Flags

(status1.9.2 beta2-fixed, status1.9.1 .6-fixed)



(1 attachment, 1 obsolete attachment)

2.09 KB, patch
Peter Weilbacher
: review+
Details | Diff | Splinter Review


8 years ago
Bug 267609 & other sources report several issues with fullscreen mode.

The first involves this sequence:
- maximize a browser window
- put it in fullscreen (aka "kiosk") mode
- minimize it, then restore it

In v1.9.1, the problem occurs when you exit fullscreen mode.  The frame & its controls are restored but the window completely fills the screen.  The maximize/restore button has no effect;  the window has to be resized manually.

In v1.9.2 & 1.9.3, the window remains in fullscreen mode (no frame or frame controls) but it's only the size it was before being maximized (i.e. it doesn't fill the screen).  When you exit fullscreen, it then has the same problem as 1.9.1.

Minimizing a fullscreen window produces two minor issues:  the minimized icon appears on top of other windows, rather than below them; and, if the window was previously maximized, you can't doubleclick on the icon to restore it - you must select "Restore" from its menu.

The attached patches for 1.9.1 & 1.9.2 avoid these issues by making fullscreen & maximized modes mutually exclusive.  If a window is maximized, it's restored before entering fullscreen mode.  This approach requires far less code & contorted logic than would be needed to make the two modes compatible.

Note:  the two patches are identical except for the line numbers.  A similar patch for the trunk that involves more extensive changes will be attached to Bug 522896.

Comment 1

8 years ago
Created attachment 408178 [details] [diff] [review]
fix for 1.9.1 and 1.9.2
Attachment #408178 - Flags: review?(mozilla)

Comment 2

8 years ago
Created attachment 408179 [details] [diff] [review]
fix for 1.9.2
Attachment #408179 - Flags: review?(mozilla)

Comment 3

8 years ago
Comment on attachment 408178 [details] [diff] [review]
fix for 1.9.1 and 1.9.2

>+  if (WinQueryWindowULong(hFrame, QWL_STYLE) & WS_MAXIMIZED) {
>+    WinSetWindowPos(hFrame, 0, 0, 0, 0, 0, SWP_RESTORE | SWP_NOREDRAW);

This patch needed these two hFrame replace with hwdnFrame, but otherwise it's OK. I'll fix that on checkin.
Attachment #408178 - Flags: review?(mozilla) → review+


8 years ago
Attachment #408179 - Attachment is obsolete: true
Attachment #408179 - Flags: review?(mozilla)

Comment 4

8 years ago
Comment on attachment 408179 [details] [diff] [review]
fix for 1.9.2

Same problem here. (I meant hwndFrame, of course.)


8 years ago
Attachment #408178 - Attachment description: fix for 1.9.1 → fix for 1.9.1 and 1.9.2

Comment 5

8 years ago
Pushed to both branches (trunk will follow in bug 522896, hopefully soon):
Last Resolved: 8 years ago
status1.9.1: --- → .6-fixed
status1.9.2: --- → final-fixed
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.