Bug 153515 - Incorrect handling of FullScreen mode (Writer and Calc) parsing ooSetupFactoryWindowAttributes, LO module jumps to 0,0 position on relaunch
Summary: Incorrect handling of FullScreen mode (Writer and Calc) parsing ooSetupFactor...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.5.0.3 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisectRequest, regression
Depends on:
Blocks: Multimonitor
  Show dependency treegraph
 
Reported: 2023-02-10 09:15 UTC by Alexander Berg
Modified: 2023-02-26 04:32 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Berg 2023-02-10 09:15:01 UTC
Description:
The phenomenon appeared a few versions earlier. If Libreoffice exited in fullscreen on the second screen, it will start again on the first screen next time. If it was not ended in full screen, it remembers the last window position.

Steps to Reproduce:
1. Starting Writer.
2. Move the program window to the second screen and fullsize the window.
3. Close the program.
4. Restart Writer.

Actual Results:
Restarting opens the program on the first screen in fullsize-mode.

Expected Results:
Writer should open on the last postion: on the second screen.


Reproducible: Always


User Profile Reset: No

Additional Info:
Not needed. The phenomenon appeared a few versions earlier, too.
Comment 1 V Stuart Foote 2023-02-25 19:34:23 UTC
Confirmed, manifests in the user profile .XCU for the ooSetupFactoryWindowAttributes where direct closing (<Ctrl>+Q) a module placed in FullScreen mode (<Ctrl>+<Shift>+J for swriter.exe or scalc.exe) appends a mode "68" to the xy positions of the window in the .XCU setup.

mode "1" is standard sized window
mode "4" is Maximized sized window

I don't think mode "68" is being parsed correctly (but is applied for both Writer and Calc sessions so not spurious), and on relaunch of the module the fallback is to mode "4" with positioning from 0,0 window reference.

It is more noticeable with a multi-head system, but the mode "68" --> "4" affects single screen as well (just not as obvious).

Believe this comes from the refactoring of the mbFullScreen in https://gerrit.libreoffice.org/c/core/+/135809 and friends.

Related for 7.4 in see-also bug 150236, but this remains for 7.5 and trunk against 7.6

@Jan-Marek, could you have a look.

=-testing-=

Build ID: 74dc2ac66f0130bcd77cf1bbe417b22865beb067
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

Screen1 is 1920x1080
Screen2 is 1920x1080

=-taken from .xcu at different steps-=

xcu after LO swriter.exe launch on screen1 and drag to screen2, swriter Maximized and doccument save
<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.text.TextDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>1920,29,1920,1051;4;,,,;</value></prop></item>

Other modules pick up x-positions on the screen2, i.e. > 1920

xcu after <Ctrl>+Q close from swriter.exe Writer in FullScreen (<Ctrl>+<Shift>+J) mode on screen2
<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.text.TextDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>1924,4,1912,1072;68;,,,;</value></prop></item>

xcu with launch of swriter.exe following close from FullScreen, opens to screen1 in Maximized mode
<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.text.TextDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>0,29,1920,1051;4;,,,;</value></prop></item>


same "68" mode for an scalc.exe launch from screen2 start, and Calc in FullScreen mode, then <Ctrl>+Q close
<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.sheet.SpreadsheetDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>1924,4,1912,1072;68;,,,;</value></prop></item>

xcu with launch of scalc.exe following close from FullScreen, opens to screen1 in Maimized mode
<item oor:path="/org.openoffice.Setup/Office/Factories/org.openoffice.Setup:Factory['com.sun.star.sheet.SpreadsheetDocument']"><prop oor:name="ooSetupFactoryWindowAttributes" oor:op="fuse"><value>0,29,1920,1051;4;,,,;</value></prop></item>