office-gobmx/sdext
Thorsten Behrens 1637610478 Fix obscure xpdfimport crash on missing fonts
Invert logic, such that the case WMode == 0 and no font set now run
the former else branch. Happened here for an obscure pdf I was missing
some fonts for.

Change-Id: I2825c914a04f6a95d459eeeffb8091ed8f1819dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162029
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-01-13 23:52:08 +01:00
..
inc move ErrCode to comphelper and improve debug output string 2022-09-14 08:34:38 +02:00
qa/unit Extended loplugin:ostr: sdext 2023-11-29 22:07:39 +01:00
source Fix obscure xpdfimport crash on missing fonts 2024-01-13 23:52:08 +01:00
CppunitTest_sdext_pdfimport.mk tdf#104597 related: restore the mirroring of Bidi_Mirrored characters 2022-11-30 13:40:24 +01:00
CustomTarget_pdfimport.mk
Executable_pdf2xml.mk tdf#104597 related: restore the mirroring of Bidi_Mirrored characters 2022-11-30 13:40:24 +01:00
Executable_pdfunzip.mk tdf#104597 related: restore the mirroring of Bidi_Mirrored characters 2022-11-30 13:40:24 +01:00
Executable_xpdfimport.mk Fix building without system cairo, fontconfig, freetype, and harfbuzz 2022-09-15 20:38:00 +02:00
IwyuFilter_sdext.yaml
Library_pdfimport.mk tdf#104597 related: restore the mirroring of Bidi_Mirrored characters 2022-11-30 13:40:24 +01:00
Library_PresentationMinimizer.mk loplugin:unusedmethods 2022-12-07 17:17:33 +00:00
Makefile
Module_sdext.mk move presenter console from sdext/ to sd/ 2023-01-21 16:23:19 +00:00
Package_pdfimport_xpdfimport.mk
README.md

Extensions for the Impress and Draw Applications

source/pdfimport/ - PDF import

Uses an external poppler process to parse and handle PDF import as draw shapes.

source/minimizer/ - Presentation Minimizer

Shrinks presentations by down-scaling images, and removing extraneous eg. embedded OLE content.

source/presenter/ - Impress / Presenter Console.

This couples to sd/ in rather strange ways. Its design is heavily mangled by an attempt to use only UNO interfaces which are highly inadequate. This leads to somewhat ridiculous situations. Activating in response to configuration keys (for example), and the XPresenterHelper interface inside sd/ used to create and manage windows.

The main screen uses a hardware-accelerated canvas (e.g. cairo canvas), while the entire secondary screen uses a VCL-canvas that is created in sd::framework::FullScreenPane::CreateCanvas().

The secondary screen contains 3 Panes which each have 2 XWindows for the border area & the actual content, and each content Pane is backed by a sd::presenter::PresenterCanvas that wraps the FullScreenPane's canvas and does clipping.