https://bugs.documentfoundation.org/show_bug.cgi?id=148854

Michael Weghorn <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Michael Weghorn <[email protected]> ---
Result of a first analysis:

This is caused by the way that Calc row and column headers (the "A", "B", "C",
... labels for columns and "1", "2", "3", ... for rows) are currently handled.

Android Viewer currently gets the headers for the whole current "document
size", s. `LOKitTileProvider#getCalcHeaders`. However, this has the side effect
of increasing the document size, triggered by this in 
`ScTabView::getRowColumnHeaders`:

>
>     // 2) if we are approaching current max tiled row, signal a size changed 
> event
>     // and invalidate the involved area
>     lcl_ExtendTiledDimension(/* bColumn */ false, nEndRow, nVisibleRows, 
> *this, aViewData);

Properly fixing this would probably include reworking the way that Calc headers
are handled in Android Viewer more fundamentally.

With this workaround/hack to no longer retrieve headers for the whole doc size,
I no longer see that problem (but Calc headers are missing):

diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java
b/android/source/src/java/org/libreoffice/LOKitTileProvider.java
index 0c7931763571..03e6f1a7abb7 100644
--- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java
+++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java
@@ -396,7 +396,7 @@ class LOKitTileProvider implements TileProvider {
         long nWidth = mDocument.getDocumentWidth();
         long nHeight = mDocument.getDocumentHeight();
         return mDocument.getCommandValues(".uno:ViewRowColumnHeaders?x=" + nX
+ "&y=" + nY
-                + "&width=" + nWidth + "&height=" + nHeight);
+                + "&width=" + 10 + "&height=" + 10);
     }

     /**

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to