Bug 131280 - Android Viewer chokes on document containing form controls
Summary: Android Viewer chokes on document containing form controls
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Android Viewer (show other bugs)
Version:
(earliest affected)
6.2.0.3 release
Hardware: All All
: medium normal
Assignee: Samuel Mehrbrodt (CIB)
URL:
Whiteboard: target:7.0.0 target:6.4.3
Keywords: bisected, regression
Depends on:
Blocks: Dialog-Tunneling-Regressions
  Show dependency treegraph
 
Reported: 2020-03-11 11:56 UTC by Michael Weghorn
Modified: 2020-04-19 00:48 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
sample document to reproduce the issue (19.01 KB, application/vnd.oasis.opendocument.text)
2020-03-11 11:56 UTC, Michael Weghorn
Details
Patch demonstrating workaround (not meant to be merged as is) (1.57 KB, patch)
2020-03-13 07:32 UTC, Michael Weghorn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Weghorn 2020-03-11 11:56:13 UTC
Created attachment 158602 [details]
sample document to reproduce the issue

LibreOffice Android Viewer has issues with files containing form controls, like checkboxes and radiobuttons.

Steps to reproduce:

1) open the attached sample document "form_elements.odt" (which is based on the attachment to tdf#128308).
2) scroll down a bit (and maybe a bit more up and down)

Observed behaviour

At some point, the rendering no longer works properly, view remains "blurry"


A quick first analysis of issue B suggested that the radiobuttons were triggering invalidation requests "without end", even if not interacting with the document, with the app being unable to handle those properly. Sometimes, rendering continued after waiting a few minutes...



Reproducible with current daily build, master~2020-03-10_23.37.28_LibreOfficeViewer-strippedUIEditing-debug.apk:

Version: 7.0.0.alpha0+
Build ID: 036da95dc5d0
Comment 1 Michael Weghorn 2020-03-13 07:32:58 UTC
Created attachment 158663 [details]
Patch demonstrating workaround (not meant to be merged as is)

The attached patch demonstrates a quick workaround and can thus also be used to help understand where the underlying issue is. It is not meant to be merged as is.
Comment 2 Samuel Mehrbrodt (CIB) 2020-03-24 09:37:39 UTC
This is also reproducible using gtktiledviewer.
Load the document, then zoom in. Endless invalidation loop as reported by Michael.
Comment 3 Samuel Mehrbrodt (CIB) 2020-03-25 13:00:10 UTC
Regression from

commit 8de98e61fbc96bf523b3dec7e1e52eb7e2d7693e
Author: Pranav Kant <pranavk@collabora.co.uk>
Date:   Tue Jul 17 19:10:48 2018 +0530

    lokdialog: no invalidation when in init show

https://cgit.freedesktop.org/libreoffice/core/commit/?id=8de98e61fbc96bf523b3dec7e1e52eb7e2d7693e
Comment 4 Commit Notification 2020-03-25 15:27:20 UTC
Samuel Mehrbrodt committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4af18ebae9d74b43fcd114d5fa5b145586651bc2

tdf#131280 Fix endless invalidation loop on documents with form controls

It will be available in 7.0.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 5 Commit Notification 2020-03-25 16:49:38 UTC
Samuel Mehrbrodt committed a patch related to this issue.
It has been pushed to "libreoffice-6-4":

https://git.libreoffice.org/core/commit/dc78bbbdbe5aa3a7304607876231e01f17878eab

tdf#131280 Fix endless invalidation loop on documents with form controls

It will be available in 6.4.3.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.