office-gobmx/sw/Module_sw.mk
Miklos Vajna 24231f2a33 svtools: fix lost replacement non-rendered graphic when updating it fails
This is similar to commit 8780fa41dc
(svtools: fix lost replacement grpahic when updating it via OLE fails,
2018-10-30), but that case was when we already had an old
mpImpl->pGraphic, the updated failed and then we already lost the old
one but didn't have a new one.

Here what happened is that in case tools -> update -> update-all was
used for an OLE object which had bad native data but a good preview,
then the result was bad preview, depending on if you first scrolled to
the OLE object to trigger rendering (good) or not (bad).

The reason for this is that scrolling to the object calls GetGraphic(),
which sets mpImpl->pGraphic using GetReplacement(bUpdate=false), which
works, but svt::EmbeddedObjectRef::UpdateReplacement() calls
GetReplacement(bUpdate=true). That explains why the update breaks the
preview, but not when scrolling to it first.

Fix the problem by improving svt::EmbeddedObjectRef::GetReplacement():
if getting an updated graphic fails, try to get a non-updated graphic.

The result is that GetGraphic() after an UpdateReplacement() not only
always return a non-nullptr Graphic, but also it's no longer of type
None.

Change-Id: I8e5ff4aaaefdc58e032b325bb4001f2a604ccc8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130086
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-02-17 19:07:32 +01:00

205 lines
5.8 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 .
#
include $(SRCDIR)/sw/layoutwriter_setup.mk
include $(SRCDIR)/sw/ooxmlexport_setup.mk
include $(SRCDIR)/sw/rtfexport_setup.mk
include $(SRCDIR)/sw/uiwriter_setup.mk
include $(SRCDIR)/sw/ww8export_setup.mk
$(eval $(call gb_Module_Module,sw))
$(eval $(call gb_Module_add_targets,sw,\
CustomTarget_generated \
Library_msword \
Library_sw \
Library_swd \
Library_swui \
UIConfig_sglobal \
UIConfig_sweb \
UIConfig_swform \
UIConfig_swreport \
UIConfig_swriter \
UIConfig_swxform \
))
$(eval $(call gb_Module_add_l10n_targets,sw,\
AllLangMoTarget_sw \
))
ifneq ($(filter SCRIPTING,$(BUILD_TYPE)),)
$(eval $(call gb_Module_add_targets,sw,\
Library_vbaswobj \
))
endif
ifneq ($(OS),iOS)
$(eval $(call gb_Module_add_check_targets,sw,\
Library_swqahelper \
CppunitTest_sw_uibase_unit \
))
$(eval $(call gb_Module_add_slowcheck_targets,sw,\
$(if $(and $(filter $(COM),MSC),$(MERGELIBS)),, \
CppunitTest_sw_uwriter) \
CppunitTest_sw_rtfexport \
CppunitTest_sw_rtfexport2 \
CppunitTest_sw_rtfexport3 \
CppunitTest_sw_rtfexport4 \
CppunitTest_sw_rtfexport5 \
CppunitTest_sw_docbookexport \
CppunitTest_sw_fodfexport \
CppunitTest_sw_htmlexport \
CppunitTest_sw_xhtmlexport \
CppunitTest_sw_htmlimport \
CppunitTest_sw_indexingexport \
CppunitTest_sw_macros_test \
CppunitTest_sw_ooxmlexport \
CppunitTest_sw_ooxmlexport2 \
CppunitTest_sw_ooxmlexport3 \
CppunitTest_sw_ooxmlexport4 \
CppunitTest_sw_ooxmlexport5 \
CppunitTest_sw_ooxmlexport6 \
CppunitTest_sw_ooxmlexport7 \
CppunitTest_sw_ooxmlexport8 \
CppunitTest_sw_ooxmlexport9 \
CppunitTest_sw_ooxmlexport10 \
CppunitTest_sw_ooxmlexport11 \
CppunitTest_sw_ooxmlexport12 \
CppunitTest_sw_ooxmlexport13 \
CppunitTest_sw_ooxmlexport14 \
CppunitTest_sw_ooxmlexport15 \
CppunitTest_sw_ooxmlexport16 \
CppunitTest_sw_ooxmlexport17 \
CppunitTest_sw_ooxmlexport_template \
CppunitTest_sw_ooxmlfieldexport \
CppunitTest_sw_ooxmllinks \
CppunitTest_sw_ooxmlw14export \
CppunitTest_sw_ooxmlencryption \
CppunitTest_sw_ooxmlimport \
CppunitTest_sw_ooxmlimport2 \
CppunitTest_sw_ww8export \
CppunitTest_sw_ww8export2 \
CppunitTest_sw_ww8export3 \
CppunitTest_sw_ww8import \
CppunitTest_sw_rtfimport \
CppunitTest_sw_odfexport \
CppunitTest_sw_odfexport2 \
CppunitTest_sw_odfimport \
CppunitTest_sw_txtexport \
CppunitTest_sw_txtencexport \
CppunitTest_sw_txtimport \
CppunitTest_sw_uiwriter \
CppunitTest_sw_uiwriter2 \
CppunitTest_sw_uiwriter3 \
CppunitTest_sw_uiwriter4 \
CppunitTest_sw_layoutwriter \
CppunitTest_sw_layoutwriter2 \
CppunitTest_sw_mailmerge \
CppunitTest_sw_globalfilter \
CppunitTest_sw_accessible_relation_set \
CppunitTest_sw_apiterminate \
CppunitTest_sw_apitests \
CppunitTest_sw_unowriter \
CppunitTest_sw_core_text \
CppunitTest_sw_core_doc \
CppunitTest_sw_core_docnode \
CppunitTest_sw_uibase_shells \
CppunitTest_sw_uibase_dochdl \
CppunitTest_sw_uibase_frmdlg \
CppunitTest_sw_uibase_uno \
CppunitTest_sw_core_accessibilitycheck \
CppunitTest_sw_core_layout \
CppunitTest_sw_core_fields \
CppunitTest_sw_core_tox \
CppunitTest_sw_core_frmedt \
CppunitTest_sw_core_txtnode \
CppunitTest_sw_core_objectpositioning \
CppunitTest_sw_core_unocore \
CppunitTest_sw_core_crsr \
CppunitTest_sw_core_undo \
CppunitTest_sw_uibase_uiview \
CppunitTest_sw_core_draw \
CppunitTest_sw_core_edit \
CppunitTest_sw_uibase_fldui \
CppunitTest_sw_core_view \
))
ifneq ($(DISABLE_GUI),TRUE)
ifeq ($(OS),LINUX)
$(eval $(call gb_Module_add_slowcheck_targets,sw,\
CppunitTest_sw_tiledrendering \
))
endif
endif
ifneq ($(DISABLE_CVE_TESTS),TRUE)
$(eval $(call gb_Module_add_slowcheck_targets,sw,\
CppunitTest_sw_filters_test \
CppunitTest_sw_filters_test2 \
))
endif
$(eval $(call gb_Module_add_subsequentcheck_targets,sw,\
JunitTest_sw_complex \
JunitTest_sw_unoapi_1 \
JunitTest_sw_unoapi_2 \
JunitTest_sw_unoapi_3 \
JunitTest_sw_unoapi_4 \
))
$(eval $(call gb_Module_add_subsequentcheck_targets,sw,\
PythonTest_sw_python \
))
# screenshots
$(eval $(call gb_Module_add_screenshot_targets,sw,\
CppunitTest_sw_dialogs_test \
CppunitTest_sw_dialogs_test_2 \
))
$(eval $(call gb_Module_add_uicheck_targets,sw,\
$(call gb_Helper_optional,LIBRELOGO,UITest_librelogo) \
UITest_writer_tests \
UITest_writer_tests2 \
UITest_writer_tests3 \
UITest_writer_tests4 \
UITest_writer_tests5 \
UITest_writer_tests6 \
UITest_writer_tests7 \
UITest_sw_table \
UITest_sw_chart \
UITest_sw_findBar \
UITest_sw_findReplace \
UITest_chapterNumbering \
UITest_sw_navigator \
UITest_sw_options \
UITest_sw_sidebar \
UITest_sw_styleInspector \
UITest_sw_ui_fmtui \
UITest_sw_ui_index \
UITest_classification \
UITest_writer_macro_tests \
UITest_writer_dialogs \
))
endif
# vim: set noet sw=4 ts=4: