Bug 142250 - [EDITING] Frozen Rows/Columns reset when unfolding an outline-group causes the border outside of window
Summary: [EDITING] Frozen Rows/Columns reset when unfolding an outline-group causes th...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
(earliest affected)
Inherited From OOo
Hardware: All All
: medium minor
Assignee: Not Assigned
Depends on:
Blocks: Cell-Freeze
  Show dependency treegraph
Reported: 2021-05-13 01:45 UTC by zzz
Modified: 2022-09-20 17:30 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:

FreezeRowB1.ods (test data) (7.01 KB, application/vnd.oasis.opendocument.spreadsheet)
2021-05-13 01:45 UTC, zzz
FreezeRowB1_ods_screenshot.png (48.50 KB, image/png)
2021-05-13 01:46 UTC, zzz
FreezeRowB2_ods_screenshot.png (49.57 KB, image/png)
2021-05-13 01:47 UTC, zzz
FreezeRowB3_ods_screenshot.png (47.74 KB, image/png)
2021-05-13 01:47 UTC, zzz

Note You need to log in before you can comment on or make changes to this bug.
Description zzz 2021-05-13 01:45:04 UTC
Created attachment 171940 [details]
FreezeRowB1.ods (test data)

If a frozen-row includes a folded outline-group, when user unfolds that outline-group and that causes the frozen-row to shift outside of the visible pane, then all rows become unfrozen (scrollable).
Same symptom happens for columns as well.
Once the frozen-row has been reset by this way, saving the sheet and re-opening the file maintains the symptom.

Steps to reproduce:
1. Adjust LibreCalc window to show only A1:J41.
2. Select rows 2:40.
3. Menu|Data|GroupAndOutline|Group
4. Press the "-" button on the left edge to fold the outline-group.
5. Select cell B50.
6. Menu|View|FreezeRowsAndColumns
   This is the attached FreezeRowB1.ods
   Screenshot on my PC is FreezeRowB1_ods_screenshot.png
7. Press the "+" button on the left edge to unfold the outline-group.
   Now it looks like this: FreezeRowB2_ods_screenshot.png

Actual results:
8. Try vertical scroll. No row is frozen anymore.
9. Press again the "-" button on the left edge to fold the outline-group.
10. Try vertical scroll. Still, no row is frozen anymore.

Expected results:
At step 7, frozen rows should be kept frozen, with the visible top left cell should be A1, like the attached FreezeRowB3_ods_screenshot.png.
After step 9, rows above cell B50 should be frozen, ie. should not be scrollable.

Reproducible: always (tested over 10/10)

User Profile Reset: No

Additional Info:
Seems sometimes irreproducible when window is small, eg. only 10 rows.
Comment 1 zzz 2021-05-13 01:46:24 UTC
Created attachment 171941 [details]
Comment 2 zzz 2021-05-13 01:47:08 UTC
Created attachment 171942 [details]
Comment 3 zzz 2021-05-13 01:47:55 UTC
Created attachment 171943 [details]
Comment 4 Buovjaga 2022-04-26 11:50:37 UTC
I reproduce on Windows, but not on Linux. Already in version 3.3.0.

Version: (x64) / LibreOffice Community
Build ID: 67d8c245daf7c6ee33e908255f2bbd0ea8d08206
CPU threads: 2; OS: Windows 10.0 Build 19044; UI render: default; VCL: win
Locale: fi-FI (fi_FI); UI: en-US
Calc: threaded Jumbo
Comment 5 Kevin Suo 2022-09-20 07:49:55 UTC
(In reply to Buovjaga from comment #4)
You did not reproduce on linux, that may be becaue on Linux when the outline is expanded the range did not exceed the visible area.

I do reproduce this on Linux with a recent master build.

May be a duplicate of bug 120117, but I am not sure, thus adding to SEE ALSO instead.
Comment 6 Buovjaga 2022-09-20 07:56:52 UTC
Yes, it seems this is required to reproduce "Adjust LibreCalc window to show only A1:J41."

Version: / LibreOffice Community
Build ID: 40(Build:2)
CPU threads: 8; OS: Linux 5.19; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded