Bug 114384 - export to pdf wrong results
Summary: export to pdf wrong results
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Printing and PDF export (show other bugs)
Version:
(earliest affected)
6.1.0.0.alpha0+
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:6.1.0
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2017-12-10 13:45 UTC by Xavier Van Wijmeersch
Modified: 2018-01-15 14:01 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Van Wijmeersch 2017-12-10 13:45:29 UTC
When I want to export a spreadsheet with different sheets in it, it sees all the sheets but on all the sheets it prints only the first sheets. Lets say I have sheet1 and sheet2, well it prints sheet1 twice
You can use attachment 138157 [details] to test the behaviour
Comment 1 Xavier Van Wijmeersch 2017-12-10 14:48:47 UTC
Happens with

Version: 6.1.0.0.alpha0+
Build ID: ce652a7f0d2745143a3e1078607a72695ce124f9
CPU threads: 8; OS: Linux 4.9; UI render: default; VCL: kde4; 
TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2017-12-10_00:23:13
Locale: nl-BE (en_US.UTF-8); Calc: group threaded

but not with

Version: 6.0.0.0.beta2+
Build ID: 5cd00e541da4eca2065ea16f5145a462dee4b5b1
CPU threads: 8; OS: Linux 4.9; UI render: default; VCL: kde4; 
Locale: nl-BE (en_US.UTF-8); Calc: group threaded
Comment 2 Xisco Faulí 2017-12-10 17:57:26 UTC
Regression introduced by:

author	Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>	2017-12-02 01:17:15 +0900
committer	Tomaž Vajngerl <quikee@gmail.com>	2017-12-04 08:07:24 +0100
commit 5684e53b931eaaac658bc3246ae1c3249e252fdb (patch)
tree 68163cd76212a5367c115a959f0602e41e88f6c2
parent 75702b13961e545809ce1f2b5a45787f42ffcbc6 (diff)
Calculate print page ranges only when needed, cache in print state
When printing or exporting PDF, we need to calculate the page
print (cell) ranges for the current zoom level (document size).
This is quite a expensive thing to do as you need to inspect
the properties of individual cells.
The calculation ideally needs to be done only once per printing
request, but because of the rendering UNO API, this was done
everytime ScPrintFunc was instantiated, which is for every page
twice (once getRenderer is called and then when render is called).
To fix this performance issue, the print page ranges need to be
carried from one call to ScPrintFunc to the other. There already
is a print state (ScPrintState) which is used for exactly that,
but it didn't do this for print page ranges.
With this, PDF export time in a test case decreased from 17 sec to
around 3 sec.

Bisected with: bibisect-linux64-6.1

Adding Cc: to Tomaž Vajngerl
Comment 3 Commit Notification 2017-12-12 23:56:07 UTC
Tomaž Vajngerl committed a patch related to this issue.
It has been pushed to "master":

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

tdf#114384 reset the print state if the sheet changes

It will be available in 6.1.0.

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 4 Xavier Van Wijmeersch 2017-12-13 12:44:12 UTC
I just did tested and its working

Version: 6.1.0.0.alpha0+
Build ID: 6ca6d6ac912588a8f62d7e6b668ebec333752ebc
CPU threads: 8; OS: Linux 4.9; UI render: default; VCL: kde4; 
Locale: nl-BE (en_US.UTF-8); Calc: group threaded
Comment 5 Timur 2017-12-14 17:17:41 UTC
Didn't test, but I guess it's fixed.