tdf#144952 VCL fix the Printer graphics releasecib-6.4-8
commit4f9aa74490f12de5d35e8df51add043ce597627f
authorJan-Marek Glogowski <glogow@fbihome.de>
Wed, 6 Oct 2021 21:17:43 +0000 (6 23:17 +0200)
committerThorsten Behrens <thorsten.behrens@allotropia.de>
Wed, 18 May 2022 10:37:14 +0000 (18 12:37 +0200)
tree3cde400125ca2f9c46afba0fa1ac478c89983bfa
parent2c1d1b32f4ddfdffedb27bec5c906c7c8cb26cd6
tdf#144952 VCL fix the Printer graphics release

Regression from commit 1b7c53db87bb67eeb2591fbb186f7ac20eb00c68
("WIN lazy init WinSalInfoPrinter graphics"), which removed the
// HACK to fix an urgent P1 printing issue fast

SalPrinter::StartPage returns a SalGraphics to the VCL Printer
object. On Windows SalPrinter::EndPage deletes the SalPrinter's
SalGraphics. MacOS keeps a single SalGraphics for the whole
SalPrinter lifetime. PspSalPrinter stores it in a unique_ptr
and always resets it in StartPage.

But in any case the VCL Printer's SalGraphics reference must be
freed before calling a function, which might delete it.

Change-Id: Ice528b2bbc89eaadff576420bf210ea4ec1e58d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123199
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 354706e3f5c05294af6e0000d5b9f814cfe01741)
vcl/source/gdi/print.cxx