Bug 75026 - UI: Calc spreadsheet incompletely rendered after following hyperlink from another spreadsheet document (maybe if required scroll)
Summary: UI: Calc spreadsheet incompletely rendered after following hyperlink from ano...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
4.2.0.4 release
Hardware: x86 (IA32) Windows (All)
: medium normal
Assignee: Kohei Yoshida
URL:
Whiteboard: target:4.3.0 target:4.2.5
Keywords: regression
Depends on:
Blocks:
 
Reported: 2014-02-15 16:31 UTC by gekacheka
Modified: 2014-07-18 11:42 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Hyperlink target document scrolled cell grid area is incompletely painted. (47.59 KB, image/png)
2014-02-15 16:31 UTC, gekacheka
Details
hyperlink-target.ods (19.06 KB, application/vnd.oasis.opendocument.spreadsheet)
2014-02-15 16:34 UTC, gekacheka
Details
hyperlink-source.ods (11.29 KB, application/vnd.oasis.opendocument.spreadsheet)
2014-02-15 16:45 UTC, gekacheka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gekacheka 2014-02-15 16:31:01 UTC
Created attachment 94126 [details]
Hyperlink target document scrolled cell grid area is incompletely painted.

When following a hyperlink from a cell in a source spreadsheet document to a cell in a target spreadsheet document,

the target spreadsheet's cell grid is incompletely painted/rendered.  Whatever was on the screen before bringing up the window is displayed in part of the area where the grid should be.  This seems to happen when the target spreadsheet must be scrolled to display the target cell.  

Workarounds: resize the target spreadsheet window, or scroll the target spreadsheet grid.  (Minimizing and redisplaying the window does not help.  Switching away from the window and going back with alt-tab does not help --- the unpainted region still shows the pixels of latest contents of the screen before switching back.)

Steps to Reproduce:
1. Create a target spreadsheet, say c:/temp/libreoffice/hyperlink-target.ods
2. To make the problem clearer, make the target look different from the source:
- select cells A1:Z100
- click right, Format Cells...
- Set background color to yellow
- Set borders to all interior borders
3. Save
4. Create a source spreadsheet
5. Create a hyperlink in a cell, to a cell in the target spreadsheet that will require scrolling to display, such as
=HYPERLINK("file:///c:/temp/libreoffice/hyperlink-target.ods#Sheet1!B60","link")
6. Control-click the hyperlink

Expected result:
The hyperlink-target.ods spreadsheet is displayed and scrolled to show cell B60.

Actual result:
The hyperlink-target.ods spreadsheet is displayed, but the cell grid area is incompletely painted.
Comment 1 gekacheka 2014-02-15 16:34:06 UTC
Created attachment 94127 [details]
hyperlink-target.ods

The file c:/temp/libreoffice/hyperlink-target.ods
used in the steps to reproduce.
Comment 2 gekacheka 2014-02-15 16:45:53 UTC
Created attachment 94128 [details]
hyperlink-source.ods

The hyperlink-source.ods file used in the steps to reproduce.

I just tried again, and the first time I followed the link it opened the file and scrolled and painted ok.  But then I

- scrolled the hyperlink-target.ods file back to the top, 
- switched back to the hyperlink-source.ods file
- control-clicked on the hyperlink again.

The second time, when the target file was already open but scrolled to a different place, the grid was incompletely painted.

Steps to Reproduce:
1. download hyperlink-target.ods, save as c:/temp/libreoffice/hyperlink-target.ods
2. download hyperlink-source.ods, save as c:/temp/libreoffice/hyperlink-source.ods
(target path is important, or you'll need to change the path in the source hpyerlink.)
3. control click link in source document.
target document should open and display cell.
4. scroll target document back to top, so cell B60 is not visible.
5. control click link in source document again.

Expected result:
The hyperlink-target.ods spreadsheet is displayed and scrolled to show cell B60.

Actual result:
The hyperlink-target.ods spreadsheet is displayed, but the cell grid area is incompletely painted.
Comment 3 m_a_riosv 2014-02-15 18:29:43 UTC
Hi gekacheka, thanks for reporting.

Reproducible.
Win7x64Ultimate
Version: 4.2.1.1 Build ID: d7dbbd7842e6a58b0f521599204e827654e1fb8b

Regression from:
Version: 4.2.0.4 Build ID: 05dceb5d363845f2cf968344d7adab8dcfb2ba71
Comment 4 gekacheka 2014-02-16 00:47:45 UTC
Thank you for reproducing.
Version 4.1.5.3 does not produce this problem.
Versions 4.2.0.4 and (prerelease) 4.2.1.1 both produce this problem.
Comment 5 m_a_riosv 2014-02-16 01:00:13 UTC
Sorry gekacheka, I can't reproduce it with.
Version: 4.2.0.4 Build ID: 05dceb5d363845f2cf968344d7adab8dcfb2ba71
even using the same profile as in the 4.2.1.1
Comment 6 gekacheka 2014-02-16 01:47:56 UTC
Maybe 32bit (XP) vs. 64bit (win7) makes a difference.
Comment 7 Commit Notification 2014-04-16 15:11:39 UTC
Kohei Yoshida committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=52cc88d6191ba0c4b6477e5c4b9c5d0f0228030d

fdo#75026: Sometimes we need to update grid view while not being active.



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 8 Kohei Yoshida 2014-04-16 15:12:39 UTC
4.2: https://gerrit.libreoffice.org/9068
Comment 9 Commit Notification 2014-04-16 15:48:25 UTC
Kohei Yoshida committed a patch related to this issue.
It has been pushed to "libreoffice-4-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=44c9235ba8ab513451fcc6cd5dbdf82c577481f1&h=libreoffice-4-2

fdo#75026: Sometimes we need to update grid view while not being active.


It will be available in LibreOffice 4.2.5.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 10 Kohei Yoshida 2014-04-16 15:52:04 UTC
Fixed.  The cherry-pick to 4.2 went through rather quick.
Comment 11 m_a_riosv 2014-04-20 02:35:41 UTC
Thanks Kohei,
verified.
Win7x64Ultimate
Version: 4.2.5.0.0+ Build ID: cc45204a7a286cef32fc7faf266dc2da235c1ae2
   TinderBox: Win-x86@42, Branch:libreoffice-4-2, Time: 2014-04-17_02:46:49
Version: 4.3.0.0.alpha0+ Build ID: 0ce6d9bcea7c37a7cb2c42e8393e2e20780bd171
   TinderBox: Win-x86@39, Branch:master, Time: 2014-04-17_00:11:33