Bug 158768 - Frozen columns in an RTL worksheet transported to its left side
Summary: Frozen columns in an RTL worksheet transported to its left side
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.6.3.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
: 159516 (view as bug list)
Depends on:
Blocks: RTL-UI
  Show dependency treegraph
 
Reported: 2023-12-18 21:28 UTC by Michael Reggev
Modified: 2024-02-02 06:47 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Screenshot of mis-rendered sheet (72.38 KB, image/png)
2023-12-18 23:40 UTC, Eyal Rozenberg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Reggev 2023-12-18 21:28:26 UTC
Description:
Hey, 

I've recently opened a file that contains RTL sheets (in the "Sheet" menu, the "Right-to-Left" option is tagged) with a frozen cells view (say, columns A and B and row 1 are fixed in place) in Calc 7.6.4.1. 

In previous versions of Calc, the RTL option is applied first to the sheet, and then the freeze. But now it seems the freeze takes hold first, and only then the RTL in each area, resulting in a confusing order described below (as "actual results")... 

Is this a feature and not a bug? 
If so, how can I revert to the previous standard? 

Many thanks :)

Steps to Reproduce:
1. Open a new Calc sheet. 
2. In the Sheet menu, tick the right-to-left option (I'm not sure if it's available by default or requires setting other options elsewhere). 
3. Select cell C2. 
4. In the View menu, select "freeze rows and columns". 
5. scroll around a bit. 

Actual Results:
> B1, A1, H1, G1, F1, E1
>       --------------------
> B5, A5! H5, G5, F5, E5
> B6, A6! H6, G6, F6, E6
> B7, A7! H7, G7, F7, E7
> B8, A8! H8, G8, F8, E8

Expected Results:
> H1, G1, F1, E1, B1, A1
>     ---------------------
> H5, G5, F5, E5! B5, A5
> H6, G6, F6, E6! B6, A6
> H7, G7, F7, E7! B7, A7
> H8, G8, F8, E8! B8, A8


Reproducible: Always


User Profile Reset: No

Additional Info:
this is my first bug report here, and English is not my first language - be gentle, please. 

I've mistakenly reported this in the forums first. I've also uploaded an example file there. it's available at this URL: https://ask.libreoffice.org/uploads/short-url/pwIa93hU9kl6SIcg1lZ8NoZ4Sg1.ods . Is that enough, or do you need me to upload it here separately?
Comment 1 ady 2023-12-18 22:54:05 UTC
FWIW, the original topic is at 
<https://ask.libreoffice.org/t/calc-7-6-4-1-behavior-change-in-frozen-rtl-sheets-in-xlsx-file/99605>

My _guess_ is that this started with tdf#157784 (please don't just read the Summary of that report, because the commit applied in that report is not really about that exact Summary).

In tdf#157784, there are relevant "see also" reports, and several comments regarding several RTL items.

Repro in LO 7.6.3.2 by opening the attachment as-is. In LO 7.5.3.2 not repro (same file opened as-is) > regression.

IOW, my _guess_ is that setting the Rows header where it is ATM located according to the commit in tdf#157784, also the "frozen" _columns_ are located together with it, and following the same order as the "unfrozen" columns.

As more than one user said at the time, the headers have to cross at the axis "origin, zero".

Since I am only guessing, I am not CC'ing Andreas Heinisch yet (I am CC'ing Eyal). I'd rather wait for some actual confirmation by someone bibisecting this.
Comment 2 Eyal Rozenberg 2023-12-18 23:40:06 UTC
Created attachment 191496 [details]
Screenshot of mis-rendered sheet

Confirming also with:

Version: 24.2.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 516f800f84b533db0082b1f39c19d1af40ab29c8
CPU threads: 4; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: he-IL (en_IL); UI: en-US
Calc: threaded

Adding screenshot of bug manifesting. In the screenshot, I've inserted some text into row 2:

A2 "The"
B2 "quick"
C3 "brown"

Note that "quick" is half-painted over by the row number indicators.
Comment 3 Eyal Rozenberg 2023-12-18 23:41:45 UTC
Let's add Andreas for good measure.
Comment 4 ady 2023-12-19 01:28:35 UTC
(In reply to Eyal Rozenberg from comment #3)
> Let's add Andreas for good measure.

:D An additional good measure would be to make the Rows header cross the Columns header near Column A (when "freeze panes" is OFF) at the "zero/origin" of the axis. That is, when Column A is located at the left side of the screen (i.e. Columns header goes from left to right), then the Rows header should be located on the left too. And when Column A is located at the right side of the screen (i.e. Columns header goes from right to left), then the Rows header should be located on the right too.

Please note that I am not mentioning the conditions for which the first column is located on one side or the other (there are enough reports about that already). I am just saying that the Rows header should always cross the Column header at the "zero/origin" point, near Column A and near the Name box. Following that condition, the frozen columns reported here should be fine again.
Comment 5 raal 2023-12-21 19:15:46 UTC
This seems to have begun at the below commit in bibisect repository/OS XXXX.
Adding Cc: to Andreas Heinisch ; Could you possibly take a look at this one?
Thanks
 d57251113ba61e450f1a72f7165fba98edf70e0f is the first bad commit
commit d57251113ba61e450f1a72f7165fba98edf70e0f
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Wed Nov 1 06:07:17 2023 +0100

    source 7a062cdd9b91c577b2296bfe1f81ea78e0b75168

158696: tdf#100584, tdf#157784 - Arrange sheets depending on the RTL settings | https://gerrit.libreoffice.org/c/core/+/158696
Comment 6 Andreas Heinisch 2023-12-21 19:35:49 UTC
Fix for tdf#100584 has been reverted. Should be the same now as before the patch.
Comment 7 Stéphane Guillou (stragu) 2024-02-02 06:47:15 UTC
*** Bug 159516 has been marked as a duplicate of this bug. ***