c24d9447b8
Regression from commit edda1e5fc8
(DOCX
import: lazy-read images without external headers, 2018-04-20), the
immediate problem is that GIF images from docx are now lazy-loaded.
The deeper problem is that GIF images normally only have pixel size and
can have an optional logic size as well (LO-specific extension).
The bugdoc in question is a DOCX file, which contains a .png stream,
which is in fact a GIF image, with that STARDIV extension in it.
Now the initial parsing (that only extracts the metadata) didn't read
the logic size, so the preferred map mode was pixels, but later when the
actual read happened, the preferred map mode changed to mm100.
Thid does not play nicely with writerfilter/ code that sets a different
wrap polygon depending on if the (assumed to be final) map mode is
pixels or not.
Fix the problem by reusing the "is this an animation" GIF parser to also
extract the logic size of the GIF image, if it has one. This way we
still lazy-load the GIF image, but the preferred map mode won't hange
from pixels to mm100 during the real read.
Change-Id: Ia6c66e1c4fa0cb23a1daf537e7179b081ef90def
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108125
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
260 lines
6.7 KiB
Makefile
260 lines
6.7 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This file incorporates work covered by the following license notice:
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed
|
|
# with this work for additional information regarding copyright
|
|
# ownership. The ASF licenses this file to you under the Apache
|
|
# License, Version 2.0 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
#
|
|
|
|
$(eval $(call gb_Module_Module,vcl))
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
Library_vcl \
|
|
Package_theme_definitions \
|
|
Package_tipoftheday \
|
|
Package_toolbarmode \
|
|
UIConfig_vcl \
|
|
$(if $(filter WNT,$(OS)), \
|
|
Package_opengl_denylist ) \
|
|
$(if $(filter SKIA,$(BUILD_TYPE)), \
|
|
Package_skia_denylist ) \
|
|
$(if $(filter DESKTOP,$(BUILD_TYPE)), \
|
|
StaticLibrary_vclmain \
|
|
$(if $(ENABLE_MACOSX_SANDBOX),, \
|
|
$(if $(DISABLE_GUI),, \
|
|
Executable_ui-previewer)) \
|
|
$(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
|
|
$(if $(DISABLE_GUI),, \
|
|
Executable_vcldemo \
|
|
Executable_icontest \
|
|
Executable_visualbackendtest \
|
|
Executable_mtfdemo ))) \
|
|
))
|
|
|
|
ifeq ($(CROSS_COMPILING)$(DISABLE_DYNLOADING),)
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
$(if $(filter-out ANDROID iOS WNT,$(OS)), \
|
|
Executable_svdemo \
|
|
Executable_fftester \
|
|
Executable_svptest \
|
|
Executable_svpclient) \
|
|
))
|
|
|
|
endif
|
|
|
|
$(eval $(call gb_Module_add_l10n_targets,vcl,\
|
|
AllLangMoTarget_vcl \
|
|
))
|
|
|
|
ifeq ($(USING_X11),TRUE)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
Library_vclplug_gen \
|
|
Library_desktop_detector \
|
|
StaticLibrary_glxtest \
|
|
Package_fontunxppds \
|
|
Package_fontunxpsprint \
|
|
))
|
|
|
|
ifneq ($(ENABLE_GTK3),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
Library_vclplug_gtk3 \
|
|
))
|
|
endif
|
|
ifneq ($(ENABLE_KF5),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
CustomTarget_kf5_moc \
|
|
Library_vclplug_kf5 \
|
|
))
|
|
endif
|
|
ifneq ($(ENABLE_QT5),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
CustomTarget_qt5_moc \
|
|
Library_vclplug_qt5 \
|
|
))
|
|
endif
|
|
ifneq ($(ENABLE_GTK3_KDE5),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
CustomTarget_gtk3_kde5_moc \
|
|
Library_vclplug_gtk3_kde5 \
|
|
Executable_lo_kde5filepicker \
|
|
))
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OS),MACOSX)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
Package_osxres \
|
|
Library_vclplug_osx \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),WNT)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
WinResTarget_vcl \
|
|
Library_vclplug_win \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),HAIKU)
|
|
ifneq ($(ENABLE_QT5),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
CustomTarget_qt5_moc \
|
|
Library_vclplug_qt5 \
|
|
))
|
|
endif
|
|
ifneq ($(ENABLE_KF5),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
CustomTarget_kf5_moc \
|
|
Library_vclplug_kf5 \
|
|
))
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(ENABLE_FUZZERS),)
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
CustomTarget_nativecore \
|
|
CustomTarget_nativecalc \
|
|
CustomTarget_nativedraw \
|
|
CustomTarget_nativewriter \
|
|
CustomTarget_nativemath \
|
|
StaticLibrary_fuzzerstubs \
|
|
StaticLibrary_fuzzer_core \
|
|
StaticLibrary_fuzzer_calc \
|
|
StaticLibrary_fuzzer_draw \
|
|
StaticLibrary_fuzzer_writer \
|
|
StaticLibrary_fuzzer_math \
|
|
Executable_wmffuzzer \
|
|
Executable_jpgfuzzer \
|
|
Executable_giffuzzer \
|
|
Executable_xbmfuzzer \
|
|
Executable_xpmfuzzer \
|
|
Executable_pngfuzzer \
|
|
Executable_bmpfuzzer \
|
|
Executable_svmfuzzer \
|
|
Executable_pcdfuzzer \
|
|
Executable_dxffuzzer \
|
|
Executable_metfuzzer \
|
|
Executable_ppmfuzzer \
|
|
Executable_psdfuzzer \
|
|
Executable_epsfuzzer \
|
|
Executable_pctfuzzer \
|
|
Executable_pcxfuzzer \
|
|
Executable_rasfuzzer \
|
|
Executable_tgafuzzer \
|
|
Executable_tiffuzzer \
|
|
Executable_hwpfuzzer \
|
|
Executable_602fuzzer \
|
|
Executable_lwpfuzzer \
|
|
Executable_olefuzzer \
|
|
Executable_pptfuzzer \
|
|
Executable_rtffuzzer \
|
|
Executable_cgmfuzzer \
|
|
Executable_ww2fuzzer \
|
|
Executable_ww6fuzzer \
|
|
Executable_ww8fuzzer \
|
|
Executable_qpwfuzzer \
|
|
Executable_slkfuzzer \
|
|
Executable_fodtfuzzer \
|
|
Executable_fodsfuzzer \
|
|
Executable_fodpfuzzer \
|
|
Executable_xlsfuzzer \
|
|
Executable_scrtffuzzer \
|
|
Executable_wksfuzzer \
|
|
Executable_diffuzzer \
|
|
Executable_docxfuzzer \
|
|
Executable_xlsxfuzzer \
|
|
Executable_pptxfuzzer \
|
|
Executable_mmlfuzzer \
|
|
Executable_mtpfuzzer \
|
|
Executable_htmlfuzzer \
|
|
Executable_sftfuzzer \
|
|
))
|
|
endif
|
|
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
CppunitTest_vcl_lifecycle \
|
|
CppunitTest_vcl_bitmap_test \
|
|
CppunitTest_vcl_bitmapprocessor_test \
|
|
CppunitTest_vcl_graphic_test \
|
|
CppunitTest_vcl_fontcharmap \
|
|
CppunitTest_vcl_font \
|
|
CppunitTest_vcl_fontfeature \
|
|
CppunitTest_vcl_fontmetric \
|
|
CppunitTest_vcl_complextext \
|
|
CppunitTest_vcl_filters_test \
|
|
CppunitTest_vcl_mnemonic \
|
|
CppunitTest_vcl_outdev \
|
|
CppunitTest_vcl_app_test \
|
|
CppunitTest_vcl_jpeg_read_write_test \
|
|
CppunitTest_vcl_svm_test \
|
|
CppunitTest_vcl_errorhandler \
|
|
CppunitTest_vcl_bitmap_render_test \
|
|
CppunitTest_vcl_apitests \
|
|
CppunitTest_vcl_png_test \
|
|
CppunitTest_vcl_widget_definition_reader_test \
|
|
CppunitTest_vcl_backend_test \
|
|
CppunitTest_vcl_blocklistparser_test \
|
|
CppunitTest_vcl_type_serializer_test \
|
|
$(call gb_Helper_optional, PDFIUM, \
|
|
CppunitTest_vcl_pdfium_library_test) \
|
|
$(if $(filter SKIA,$(BUILD_TYPE)), \
|
|
CppunitTest_vcl_skia) \
|
|
CppunitTest_vcl_filter_igif \
|
|
))
|
|
|
|
ifeq ($(USING_X11),TRUE)
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
CppunitTest_vcl_timer \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(DISABLE_GUI),TRUE)
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
CppunitTest_vcl_timer \
|
|
))
|
|
endif
|
|
|
|
# Is any configuration missing?
|
|
ifeq ($(OS),WNT)
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
CppunitTest_vcl_timer \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),MACOSX)
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
CppunitTest_vcl_timer \
|
|
))
|
|
endif
|
|
|
|
# screenshots
|
|
$(eval $(call gb_Module_add_screenshot_targets,vcl,\
|
|
CppunitTest_vcl_dialogs_test \
|
|
))
|
|
|
|
ifneq ($(DISPLAY),)
|
|
$(eval $(call gb_Module_add_slowcheck_targets,vcl,\
|
|
CppunitTest_vcl_gen \
|
|
))
|
|
endif
|
|
|
|
ifneq (,$(filter PDFIUM,$(BUILD_TYPE)))
|
|
$(eval $(call gb_Module_add_slowcheck_targets,vcl,\
|
|
CppunitTest_vcl_pdfexport \
|
|
CppunitTest_vcl_filter_ipdf \
|
|
))
|
|
endif
|
|
|
|
# vim: set noet sw=4 ts=4:
|