parent
ab9c14362d
commit
db5d455404
@ -1,44 +0,0 @@
|
||||
From b35b601d9e3b43eaedb8576b70d10b657f625d6e Mon Sep 17 00:00:00 2001
|
||||
From: Eike Rathke <erack@redhat.com>
|
||||
Date: Fri, 13 May 2016 14:56:01 +0200
|
||||
Subject: [PATCH] Resolves: tdf#99730 lower the barrier for inferior systems,
|
||||
cripple the test
|
||||
|
||||
Change-Id: Ifdb9330a0614800831d2e0b673d975e6304738e5
|
||||
---
|
||||
sc/qa/unit/ucalc_formula.cxx | 12 +++++++++---
|
||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
|
||||
index fa49e0d..fb63065 100644
|
||||
--- a/sc/qa/unit/ucalc_formula.cxx
|
||||
+++ b/sc/qa/unit/ucalc_formula.cxx
|
||||
@@ -6847,16 +6847,22 @@ void Test::testFuncMDETERM()
|
||||
aFormulaBuffer[13] = static_cast<sal_Unicode>( '0' + nSize );
|
||||
m_pDoc->SetString(aPos, aFormulaBuffer.toString());
|
||||
|
||||
+#if SAL_TYPES_SIZEOFPOINTER == 4
|
||||
// On crappy 32-bit targets, presumably without extended precision on
|
||||
// interim results or optimization not catching it, this test fails
|
||||
// when comparing to 0.0, so have a narrow error margin. See also
|
||||
// commit message of 8140309d636d4a870875f2dd75ed3dfff2c0fbaf
|
||||
-#if SAL_TYPES_SIZEOFPOINTER == 4
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Calculation of MDETERM incorrect for singular integer matrix",
|
||||
0.0, m_pDoc->GetValue(aPos), 1e-12);
|
||||
#else
|
||||
- CPPUNIT_ASSERT_EQUAL_MESSAGE("Calculation of MDETERM incorrect for singular integer matrix",
|
||||
- 0.0, m_pDoc->GetValue(aPos));
|
||||
+ // Even on one (and only one) x86_64 target the result was
|
||||
+ // 6.34413156928661e-17 instead of 0.0 (tdf#99730) so lower the bar to
|
||||
+ // 10e-14.
|
||||
+ // Then again on aarch64, ppc64* and s390x it also fails.
|
||||
+ // Sigh.. why do we even test this? The original complaint in tdf#32834
|
||||
+ // was about -9.51712667007776E-016
|
||||
+ CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Calculation of MDETERM incorrect for singular integer matrix",
|
||||
+ 0.0, m_pDoc->GetValue(aPos), 1e-14);
|
||||
#endif
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,210 +0,0 @@
|
||||
From db729f3b685fd832a3ec7387b339cf2bbeb4bd4d Mon Sep 17 00:00:00 2001
|
||||
From: Kohei Yoshida <kohei.yoshida@gmail.com>
|
||||
Date: Wed, 11 May 2016 21:45:56 -0400
|
||||
Subject: [PATCH] Update mdds to 1.2.0. Note that the API version is also up.
|
||||
|
||||
liborcus-0.11.2 is out only to make it buildable with mdds-1.2.
|
||||
|
||||
Change-Id: I9648d827b008da252c57be0ebfd2efccb008ac70
|
||||
Reviewed-on: https://gerrit.libreoffice.org/24944
|
||||
Tested-by: Jenkins <ci@libreoffice.org>
|
||||
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
||||
---
|
||||
configure.ac | 4 +--
|
||||
download.lst | 8 +++---
|
||||
external/mdds/0001-Fix-some-build-snuffs.patch | 38 --------------------------
|
||||
external/mdds/UnpackedTarball_mdds.mk | 1 -
|
||||
sc/inc/mtvelements.hxx | 2 ++
|
||||
sc/source/core/tool/scmatrix.cxx | 9 +++---
|
||||
svl/source/misc/gridprinter.cxx | 8 ++----
|
||||
7 files changed, 15 insertions(+), 55 deletions(-)
|
||||
delete mode 100644 external/mdds/0001-Fix-some-build-snuffs.patch
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 3f1b7f0..6dea282 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -8832,7 +8832,7 @@ AC_SUBST(SYSTEM_BOOST)
|
||||
dnl ===================================================================
|
||||
dnl Check for system mdds
|
||||
dnl ===================================================================
|
||||
-libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.0 >= 1.1.0], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
|
||||
+libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.2 >= 1.2.0], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
|
||||
|
||||
dnl ===================================================================
|
||||
dnl Check for system glm
|
||||
@@ -9148,7 +9148,7 @@ if test -z "$enable_orcus" -o "$enable_orcus" != no; then
|
||||
ENABLE_ORCUS="TRUE"
|
||||
AC_DEFINE(ENABLE_ORCUS)
|
||||
|
||||
- libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.11 >= 0.11.0])
|
||||
+ libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.11 >= 0.11.2])
|
||||
if test "$with_system_orcus" != "yes"; then
|
||||
if test "$SYSTEM_BOOST" = "TRUE"; then
|
||||
# ===========================================================
|
||||
diff --git a/download.lst b/download.lst
|
||||
index a2483c2..ddd6edc 100644
|
||||
--- a/download.lst
|
||||
+++ b/download.lst
|
||||
@@ -97,8 +97,8 @@ export LIBXML_TARBALL := daece17e045f1c107610e137ab50c179-libxml2-2.9.3.tar.gz
|
||||
export LIBXSLT_TARBALL := 9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz
|
||||
export LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz
|
||||
export MARIADB_TARBALL := a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz
|
||||
-export MDDS_MD5SUM := c300541adac09008aa4a305eacd1dca6
|
||||
-export MDDS_TARBALL := mdds-1.1.0.tar.bz2
|
||||
+export MDDS_MD5SUM := 9f3383fb7bae825eab69f3a6ec1d74b2
|
||||
+export MDDS_TARBALL := mdds-1.2.0.tar.bz2
|
||||
export MDNSRESPONDER_MD5SUM := 940057ac8b513b00e8e9ca12ef796762
|
||||
export MDNSRESPONDER_TARBALL := mDNSResponder-576.30.4.tar.gz
|
||||
export MSPUB_MD5SUM := ff9d0f9dd8fbc523408ea1953d5bde41
|
||||
@@ -118,8 +118,8 @@ export OPENCOLLADA_TARBALL := OpenCOLLADA-master-6509aa13af.tar.bz2
|
||||
export OPENLDAP_TARBALL := 804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz
|
||||
export OPENSSL_MD5SUM := f3c710c045cdee5fd114feb69feba7aa
|
||||
export OPENSSL_TARBALL := openssl-1.0.2g.tar.gz
|
||||
-export ORCUS_MD5SUM := 2bff8a3683caa70a438d5cdfda4cfb4f
|
||||
-export ORCUS_TARBALL := liborcus-0.11.1.tar.gz
|
||||
+export ORCUS_MD5SUM := 205badaee72adf99422add8c4c49d669
|
||||
+export ORCUS_TARBALL := liborcus-0.11.2.tar.gz
|
||||
export OWNCLOUD_ANDROID_LIB_MD5SUM := 593f0aa47bf2efc0efda2d28fae063b2
|
||||
export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz
|
||||
export PAGEMAKER_MD5SUM := 5c4985a68be0b79d3f809da5e12b143c
|
||||
diff --git a/external/mdds/0001-Fix-some-build-snuffs.patch b/external/mdds/0001-Fix-some-build-snuffs.patch
|
||||
deleted file mode 100644
|
||||
index 5f32a98..0000000
|
||||
--- a/external/mdds/0001-Fix-some-build-snuffs.patch
|
||||
+++ /dev/null
|
||||
@@ -1,38 +0,0 @@
|
||||
-From cbd1fb07b96f48ec9ed3c3806a18dbd8a7fd5703 Mon Sep 17 00:00:00 2001
|
||||
-From: Kohei Yoshida <kohei.yoshida@gmail.com>
|
||||
-Date: Thu, 11 Feb 2016 22:20:41 -0500
|
||||
-Subject: [PATCH] Fix some build snuffs.
|
||||
-
|
||||
----
|
||||
- include/mdds/multi_type_vector_def.inl | 1 -
|
||||
- include/mdds/sorted_string_map_def.inl | 2 +-
|
||||
- 2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
-
|
||||
-diff --git a/include/mdds/multi_type_vector_def.inl b/include/mdds/multi_type_vector_def.inl
|
||||
-index a2d2fe0..549502b 100644
|
||||
---- include/mdds/multi_type_vector_def.inl
|
||||
-+++ include/mdds/multi_type_vector_def.inl
|
||||
-@@ -1936,7 +1936,6 @@ multi_type_vector<_CellBlockFunc, _EventFunc>::transfer_multi_blocks(
|
||||
- else
|
||||
- {
|
||||
- // Just move the whole block over.
|
||||
-- block* blk = m_blocks[block_index2];
|
||||
- dest.m_blocks[dest_block_pos] = blk;
|
||||
- if (blk->mp_data)
|
||||
- {
|
||||
-diff --git a/include/mdds/sorted_string_map_def.inl b/include/mdds/sorted_string_map_def.inl
|
||||
-index 1983460..1509e30 100644
|
||||
---- include/mdds/sorted_string_map_def.inl
|
||||
-+++ include/mdds/sorted_string_map_def.inl
|
||||
-@@ -65,7 +65,7 @@ sorted_string_map<_ValueT>::sorted_string_map(const entry* entries, size_type en
|
||||
- m_entry_end(m_entries+m_entry_size)
|
||||
- {
|
||||
- #ifdef _GLIBCXX_DEBUG
|
||||
-- assert(std::is_sorted(m_entries, m_entry_end, compare<_ValueT>));
|
||||
-+ assert(std::is_sorted(m_entries, m_entry_end, detail::compare<_ValueT>));
|
||||
- #endif
|
||||
- }
|
||||
-
|
||||
---
|
||||
-1.9.1
|
||||
-
|
||||
diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk
|
||||
index 2e4af67..c015f4c 100644
|
||||
--- a/external/mdds/UnpackedTarball_mdds.mk
|
||||
+++ b/external/mdds/UnpackedTarball_mdds.mk
|
||||
@@ -14,7 +14,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
|
||||
$(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
|
||||
|
||||
$(eval $(call gb_UnpackedTarball_add_patches,mdds,\
|
||||
- external/mdds/0001-Fix-some-build-snuffs.patch \
|
||||
))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
||||
diff --git a/sc/inc/mtvelements.hxx b/sc/inc/mtvelements.hxx
|
||||
index 0bc5162..18edafc 100644
|
||||
--- a/sc/inc/mtvelements.hxx
|
||||
+++ b/sc/inc/mtvelements.hxx
|
||||
@@ -53,6 +53,7 @@ const mdds::mtv::element_t element_type_cellnote = mdds::mtv::element_type_user_
|
||||
/// Mapped standard element types (for convenience).
|
||||
const mdds::mtv::element_t element_type_numeric = mdds::mtv::element_type_numeric;
|
||||
const mdds::mtv::element_t element_type_empty = mdds::mtv::element_type_empty;
|
||||
+const mdds::mtv::element_t element_type_uint16 = mdds::mtv::element_type_ushort;
|
||||
|
||||
/// Custom element blocks.
|
||||
|
||||
@@ -65,6 +66,7 @@ typedef mdds::mtv::noncopyable_managed_element_block<element_type_formula, ScFor
|
||||
|
||||
/// Mapped standard element blocks (for convenience).
|
||||
typedef mdds::mtv::numeric_element_block numeric_block;
|
||||
+typedef mdds::mtv::ushort_element_block uint16_block;
|
||||
|
||||
/// This needs to be in the same namespace as CellTextAttr.
|
||||
MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(CellTextAttr, element_type_celltextattr, CellTextAttr(), celltextattr_block)
|
||||
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
|
||||
index f1ce9a5..1689809 100644
|
||||
--- a/sc/source/core/tool/scmatrix.cxx
|
||||
+++ b/sc/source/core/tool/scmatrix.cxx
|
||||
@@ -57,17 +57,15 @@ using ::std::unary_function;
|
||||
* Custom string trait struct to tell mdds::multi_type_matrix about the
|
||||
* custom string type and how to handle blocks storing them.
|
||||
*/
|
||||
-struct custom_string_trait
|
||||
+struct matrix_trait
|
||||
{
|
||||
- typedef svl::SharedString string_type;
|
||||
typedef sc::string_block string_element_block;
|
||||
-
|
||||
- static const mdds::mtv::element_t string_type_identifier = sc::element_type_string;
|
||||
+ typedef sc::uint16_block integer_element_block;
|
||||
|
||||
typedef mdds::mtv::custom_block_func1<sc::string_block> element_block_func;
|
||||
};
|
||||
|
||||
-typedef mdds::multi_type_matrix<custom_string_trait> MatrixImplType;
|
||||
+typedef mdds::multi_type_matrix<matrix_trait> MatrixImplType;
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -2304,6 +2302,7 @@ public:
|
||||
}
|
||||
}
|
||||
break;
|
||||
+ case mdds::mtm::element_integer:
|
||||
case mdds::mtm::element_empty:
|
||||
break;
|
||||
}
|
||||
diff --git a/svl/source/misc/gridprinter.cxx b/svl/source/misc/gridprinter.cxx
|
||||
index 4044b3e..70e7439 100644
|
||||
--- a/svl/source/misc/gridprinter.cxx
|
||||
+++ b/svl/source/misc/gridprinter.cxx
|
||||
@@ -26,12 +26,10 @@ const mdds::mtv::element_t element_type_string = mdds::mtv::element_type_user_st
|
||||
// String block
|
||||
typedef mdds::mtv::default_element_block<element_type_string, OUString> string_block;
|
||||
|
||||
-struct custom_string_trait
|
||||
+struct matrix_trait
|
||||
{
|
||||
- typedef OUString string_type;
|
||||
typedef string_block string_element_block;
|
||||
-
|
||||
- static const mdds::mtv::element_t string_type_identifier = element_type_string;
|
||||
+ typedef mdds::mtv::ushort_element_block integer_element_block;
|
||||
|
||||
typedef mdds::mtv::custom_block_func1<string_block> element_block_func;
|
||||
};
|
||||
@@ -48,7 +46,7 @@ MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(OUString, svl::element_type_string, OUString()
|
||||
|
||||
namespace svl {
|
||||
|
||||
-typedef mdds::multi_type_matrix<custom_string_trait> MatrixImplType;
|
||||
+typedef mdds::multi_type_matrix<matrix_trait> MatrixImplType;
|
||||
|
||||
struct GridPrinter::Impl
|
||||
{
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,24 +0,0 @@
|
||||
From adbd9c70d4326e2577c4b5eff486f1809777fa90 Mon Sep 17 00:00:00 2001
|
||||
From: rpmbuild <rpmbuild@fedoraproject.org>
|
||||
Date: Mon, 26 May 2014 10:01:33 +0200
|
||||
Subject: [PATCH] disable PSD import test which deadlocks on ARM
|
||||
|
||||
---
|
||||
filter/Module_filter.mk | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/filter/Module_filter.mk b/filter/Module_filter.mk
|
||||
index 3558f44..3f3301f 100644
|
||||
--- a/filter/Module_filter.mk
|
||||
+++ b/filter/Module_filter.mk
|
||||
@@ -87,7 +87,6 @@ $(eval $(call gb_Module_add_check_targets,filter,\
|
||||
CppunitTest_filter_pcx_test \
|
||||
CppunitTest_filter_pict_test \
|
||||
CppunitTest_filter_ppm_test \
|
||||
- CppunitTest_filter_psd_test \
|
||||
CppunitTest_filter_ras_test \
|
||||
CppunitTest_filter_tiff_test \
|
||||
CppunitTest_filter_tga_test \
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,77 +0,0 @@
|
||||
From 2fb31f248fe86c52c1070cbc8b18b24872a4bedc Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Fri, 6 May 2016 09:33:37 +0200
|
||||
Subject: [PATCH] improve perf. of VCL event dispatch, take II
|
||||
|
||||
Change-Id: I5052f0c3e2c8739b336da52ef9590e5008255247
|
||||
---
|
||||
vcl/inc/window.h | 2 ++
|
||||
vcl/source/window/event.cxx | 15 ++++++++++++++-
|
||||
vcl/source/window/window.cxx | 1 +
|
||||
3 files changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/vcl/inc/window.h b/vcl/inc/window.h
|
||||
index e06a6b1..302e9d0 100644
|
||||
--- a/vcl/inc/window.h
|
||||
+++ b/vcl/inc/window.h
|
||||
@@ -201,6 +201,8 @@ public:
|
||||
VclPtr<vcl::Window> mpLastFocusWindow;
|
||||
VclPtr<vcl::Window> mpDlgCtrlDownWindow;
|
||||
std::vector<Link<VclWindowEvent&,void>> maEventListeners;
|
||||
+ int mnEventListenersIteratingCount;
|
||||
+ std::set<Link<VclWindowEvent&,void>> maEventListenersDeleted;
|
||||
std::vector<Link<VclWindowEvent&,void>> maChildEventListeners;
|
||||
int mnChildEventListenersIteratingCount;
|
||||
std::set<Link<VclWindowEvent&,void>> maChildEventListenersDeleted;
|
||||
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
|
||||
index 10a85ed..c7d1777 100644
|
||||
--- a/vcl/source/window/event.cxx
|
||||
+++ b/vcl/source/window/event.cxx
|
||||
@@ -216,11 +216,22 @@ void Window::CallEventListeners( sal_uLong nEvent, void* pData )
|
||||
{
|
||||
// Copy the list, because this can be destroyed when calling a Link...
|
||||
std::vector<Link<VclWindowEvent&,void>> aCopy( mpWindowImpl->maEventListeners );
|
||||
+ // we use an iterating counter/flag and a set of deleted Link's to avoid O(n^2) behaviour
|
||||
+ mpWindowImpl->mnEventListenersIteratingCount++;
|
||||
+ auto& rWindowImpl = *mpWindowImpl;
|
||||
+ comphelper::ScopeGuard aGuard(
|
||||
+ [&rWindowImpl]()
|
||||
+ {
|
||||
+ rWindowImpl.mnEventListenersIteratingCount--;
|
||||
+ if (rWindowImpl.mnEventListenersIteratingCount == 0)
|
||||
+ rWindowImpl.maEventListenersDeleted.clear();
|
||||
+ }
|
||||
+ );
|
||||
for ( Link<VclWindowEvent&,void>& rLink : aCopy )
|
||||
{
|
||||
if (xWindow->IsDisposed()) break;
|
||||
// check this hasn't been removed in some re-enterancy scenario fdo#47368
|
||||
- if( std::find(mpWindowImpl->maEventListeners.begin(), mpWindowImpl->maEventListeners.end(), rLink) != mpWindowImpl->maEventListeners.end() )
|
||||
+ if( rWindowImpl.maEventListenersDeleted.find(rLink) == rWindowImpl.maEventListenersDeleted.end() )
|
||||
rLink.Call( aEvent );
|
||||
}
|
||||
}
|
||||
@@ -279,6 +290,8 @@ void Window::RemoveEventListener( const Link<VclWindowEvent&,void>& rEventListen
|
||||
{
|
||||
auto& rListeners = mpWindowImpl->maEventListeners;
|
||||
rListeners.erase( std::remove(rListeners.begin(), rListeners.end(), rEventListener ), rListeners.end() );
|
||||
+ if (mpWindowImpl->mnEventListenersIteratingCount)
|
||||
+ mpWindowImpl->maEventListenersDeleted.insert(rEventListener);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
|
||||
index f245c47..d1c1ffe 100644
|
||||
--- a/vcl/source/window/window.cxx
|
||||
+++ b/vcl/source/window/window.cxx
|
||||
@@ -615,6 +615,7 @@ WindowImpl::WindowImpl( WindowType nType )
|
||||
mpNextOverlap = nullptr; // next overlap window of frame
|
||||
mpLastFocusWindow = nullptr; // window for focus restore
|
||||
mpDlgCtrlDownWindow = nullptr; // window for dialog control
|
||||
+ mnEventListenersIteratingCount = 0;
|
||||
mnChildEventListenersIteratingCount = 0;
|
||||
mpUserData = nullptr; // user data
|
||||
mpCursor = nullptr; // cursor
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,54 +0,0 @@
|
||||
From fd99dc83659b8c9e4dff9c55ed43c936f9a5b7fd Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Thu, 5 May 2016 17:47:03 +0200
|
||||
Subject: [PATCH] only set cur. page once when removing mult. pages
|
||||
|
||||
Change-Id: Id9da135a91d9591eed04fb25d2891169c45ecaaf
|
||||
---
|
||||
.../ui/slidesorter/controller/SlsSelectionManager.cxx | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/sd/source/ui/slidesorter/controller/SlsSelectionManager.cxx b/sd/source/ui/slidesorter/controller/SlsSelectionManager.cxx
|
||||
index a954aed..c861fbf 100644
|
||||
--- a/sd/source/ui/slidesorter/controller/SlsSelectionManager.cxx
|
||||
+++ b/sd/source/ui/slidesorter/controller/SlsSelectionManager.cxx
|
||||
@@ -36,6 +36,9 @@
|
||||
#include "view/SlideSorterView.hxx"
|
||||
#include "view/SlsLayouter.hxx"
|
||||
#include "drawdoc.hxx"
|
||||
+#include "drawview.hxx"
|
||||
+#include "DrawViewShell.hxx"
|
||||
+#include "ViewShellBase.hxx"
|
||||
#include "Window.hxx"
|
||||
#include <svx/svxids.hrc>
|
||||
#include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
|
||||
@@ -108,6 +111,13 @@ void SelectionManager::DeleteSelectedPages (const bool bSelectFollowingPage)
|
||||
else
|
||||
--nNewCurrentSlide;
|
||||
|
||||
+ const auto pViewShell = mrSlideSorter.GetViewShell();
|
||||
+ const auto pDrawViewShell = pViewShell ? std::dynamic_pointer_cast<sd::DrawViewShell>(pViewShell->GetViewShellBase().GetMainViewShell()) : nullptr;
|
||||
+ const auto pDrawView = pDrawViewShell ? dynamic_cast<sd::DrawView*>(pDrawViewShell->GetDrawView()) : nullptr;
|
||||
+
|
||||
+ if (pDrawView)
|
||||
+ pDrawView->BlockPageOrderChangedHint(true);
|
||||
+
|
||||
// The actual deletion of the selected pages is done in one of two
|
||||
// helper functions. They are specialized for normal respectively for
|
||||
// master pages.
|
||||
@@ -120,6 +130,12 @@ void SelectionManager::DeleteSelectedPages (const bool bSelectFollowingPage)
|
||||
|
||||
mrController.HandleModelChange();
|
||||
aLock.Release();
|
||||
+ if (pDrawView)
|
||||
+ {
|
||||
+ assert(pDrawViewShell);
|
||||
+ pDrawView->BlockPageOrderChangedHint(false);
|
||||
+ pDrawViewShell->ResetActualPage();
|
||||
+ }
|
||||
|
||||
// Show focus and move it to next valid location.
|
||||
if (bIsFocusShowing)
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 590d80cea8fcd7c51140cff38392c4c180327330 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Fri, 22 Apr 2016 14:32:07 +0200
|
||||
Subject: [PATCH] pass original CFLAGS
|
||||
|
||||
Change-Id: Ia37fa1ad21a9411d78b0c30c769b3934d43d1389
|
||||
---
|
||||
external/libxmlsec/ExternalProject_xmlsec.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/external/libxmlsec/ExternalProject_xmlsec.mk b/external/libxmlsec/ExternalProject_xmlsec.mk
|
||||
index a22b426..6a81306 100644
|
||||
--- a/external/libxmlsec/ExternalProject_xmlsec.mk
|
||||
+++ b/external/libxmlsec/ExternalProject_xmlsec.mk
|
||||
@@ -55,7 +55,7 @@ $(call gb_ExternalProject_get_state_target,xmlsec,build) :
|
||||
autoreconf \
|
||||
&& ./configure \
|
||||
--with-pic --disable-shared --disable-crypto-dl --without-libxslt --without-gnutls \
|
||||
- CFLAGS="$(if $(debug),$(gb_COMPILERNOOPTFLAGS) $(gb_DEBUG_CFLAGS),$(gb_COMPILEROPTFLAGS))" \
|
||||
+ CFLAGS="$(CFLAGS) $(if $(debug),$(gb_COMPILERNOOPTFLAGS) $(gb_DEBUG_CFLAGS),$(gb_COMPILEROPTFLAGS))" \
|
||||
$(if $(or $(filter-out ANDROID,$(OS)),$(DISABLE_OPENSSL)),--without-openssl,--with-openssl=$(call gb_UnpackedTarball_get_dir,openssl)) \
|
||||
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
|
||||
$(if $(SYSTEM_NSS),,$(if $(filter MACOSX,$(OS)),--disable-pkgconfig)) \
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,296 +0,0 @@
|
||||
From b876bbe2cacce8af379b10d82da6c7e7d229b361 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Tue, 26 Apr 2016 09:17:11 +0200
|
||||
Subject: [PATCH] rhbz#1326602 avoid exp. bg bitmaps from deleted slides
|
||||
|
||||
ODF export uses SvxUnoBitmapTable (impl. of
|
||||
com.sun.star.drawing.BitmapTable) to create fill bitmap styles. That
|
||||
returns all XATTR_FILLBITMAP items that are in the document's pool. So
|
||||
we ensure that bitmaps that are only used on deleted (either explicitly
|
||||
or by undoing their insertion) slides are not in the pool.
|
||||
|
||||
Change-Id: I54c594a94989158f22b156fe660c1e716b988b3e
|
||||
---
|
||||
include/svx/svdundo.hxx | 9 ++++++
|
||||
sd/source/ui/func/undoback.cxx | 43 ++++++++++++++++++++++++--
|
||||
sd/source/ui/inc/undoback.hxx | 6 ++++
|
||||
svx/source/svdraw/svdundo.cxx | 70 ++++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 126 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx
|
||||
index 5f3ee5f..dc09f22 100644
|
||||
--- a/include/svx/svdundo.hxx
|
||||
+++ b/include/svx/svdundo.hxx
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include <sal/config.h>
|
||||
|
||||
+#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include <svl/solar.hrc>
|
||||
@@ -33,6 +34,7 @@
|
||||
#include <svx/svxdllapi.h>
|
||||
|
||||
class SfxItemSet;
|
||||
+class SfxPoolItem;
|
||||
class SfxStyleSheet;
|
||||
class SdrView;
|
||||
class SdrPageView;
|
||||
@@ -584,6 +586,8 @@ class SVX_DLLPUBLIC SdrUndoDelPage : public SdrUndoPageList
|
||||
// When deleting a MasterPage, we remember all relations of the
|
||||
// Character Page with the MasterPage in this UndoGroup.
|
||||
SdrUndoGroup* pUndoGroup;
|
||||
+ std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
|
||||
+ bool mbHasFillBitmap;
|
||||
|
||||
public:
|
||||
SdrUndoDelPage(SdrPage& rNewPg);
|
||||
@@ -597,6 +601,11 @@ public:
|
||||
|
||||
virtual void SdrRepeat(SdrView& rView) override;
|
||||
virtual bool CanSdrRepeat(SdrView& rView) const override;
|
||||
+
|
||||
+private:
|
||||
+ void queryFillBitmap(const SfxItemSet &rItemSet);
|
||||
+ void clearFillBitmap();
|
||||
+ void restoreFillBitmap();
|
||||
};
|
||||
|
||||
/**
|
||||
diff --git a/sd/source/ui/func/undoback.cxx b/sd/source/ui/func/undoback.cxx
|
||||
index 126101f..704b551 100644
|
||||
--- a/sd/source/ui/func/undoback.cxx
|
||||
+++ b/sd/source/ui/func/undoback.cxx
|
||||
@@ -21,8 +21,14 @@
|
||||
#include "sdpage.hxx"
|
||||
#include "sdresid.hxx"
|
||||
#include "strings.hrc"
|
||||
+
|
||||
+#include <com/sun/star/drawing/FillStyle.hpp>
|
||||
+
|
||||
+#include <o3tl/make_unique.hxx>
|
||||
+
|
||||
#include <svl/itemset.hxx>
|
||||
|
||||
+#include <svx/xfillit0.hxx>
|
||||
|
||||
SdBackgroundObjUndoAction::SdBackgroundObjUndoAction(
|
||||
SdDrawDocument& rDoc,
|
||||
@@ -30,10 +36,12 @@ SdBackgroundObjUndoAction::SdBackgroundObjUndoAction(
|
||||
const SfxItemSet& rItenSet)
|
||||
: SdUndoAction(&rDoc),
|
||||
mrPage(rPage),
|
||||
- mpItemSet(new SfxItemSet(rItenSet))
|
||||
+ mpItemSet(new SfxItemSet(rItenSet)),
|
||||
+ mbHasFillBitmap(false)
|
||||
{
|
||||
OUString aString( SdResId( STR_UNDO_CHANGE_PAGEFORMAT ) );
|
||||
SetComment( aString );
|
||||
+ saveFillBitmap(*mpItemSet);
|
||||
}
|
||||
|
||||
SdBackgroundObjUndoAction::~SdBackgroundObjUndoAction()
|
||||
@@ -45,9 +53,14 @@ void SdBackgroundObjUndoAction::ImplRestoreBackgroundObj()
|
||||
{
|
||||
SfxItemSet* pNew = new SfxItemSet(mrPage.getSdrPageProperties().GetItemSet());
|
||||
mrPage.getSdrPageProperties().ClearItem();
|
||||
+ if (bool(mpFillBitmapItem))
|
||||
+ restoreFillBitmap(*mpItemSet);
|
||||
+ mpFillBitmapItem.reset();
|
||||
+ mbHasFillBitmap = false;
|
||||
mrPage.getSdrPageProperties().PutItemSet(*mpItemSet);
|
||||
delete mpItemSet;
|
||||
mpItemSet = pNew;
|
||||
+ saveFillBitmap(*mpItemSet);
|
||||
|
||||
// tell the page that it's visualization has changed
|
||||
mrPage.ActionChanged();
|
||||
@@ -65,7 +78,33 @@ void SdBackgroundObjUndoAction::Redo()
|
||||
|
||||
SdUndoAction* SdBackgroundObjUndoAction::Clone() const
|
||||
{
|
||||
- return new SdBackgroundObjUndoAction(*mpDoc, mrPage, *mpItemSet);
|
||||
+ std::unique_ptr<SdBackgroundObjUndoAction> pCopy = o3tl::make_unique<SdBackgroundObjUndoAction>(*mpDoc, mrPage, *mpItemSet);
|
||||
+ if (mpFillBitmapItem)
|
||||
+ pCopy->mpFillBitmapItem.reset(mpFillBitmapItem->Clone());
|
||||
+ pCopy->mbHasFillBitmap = mbHasFillBitmap;
|
||||
+ return pCopy.release();
|
||||
+}
|
||||
+
|
||||
+void SdBackgroundObjUndoAction::saveFillBitmap(SfxItemSet &rItemSet)
|
||||
+{
|
||||
+ const SfxPoolItem *pItem = nullptr;
|
||||
+ if (rItemSet.GetItemState(XATTR_FILLBITMAP, false, &pItem) == SfxItemState::SET)
|
||||
+ mpFillBitmapItem.reset(pItem->Clone());
|
||||
+ if (bool(mpFillBitmapItem))
|
||||
+ {
|
||||
+ if (rItemSet.GetItemState(XATTR_FILLSTYLE, false, &pItem) == SfxItemState::SET)
|
||||
+ mbHasFillBitmap = static_cast<const XFillStyleItem*>(pItem)->GetValue() == css::drawing::FillStyle_BITMAP;
|
||||
+ rItemSet.ClearItem(XATTR_FILLBITMAP);
|
||||
+ if (mbHasFillBitmap)
|
||||
+ rItemSet.ClearItem(XATTR_FILLSTYLE);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void SdBackgroundObjUndoAction::restoreFillBitmap(SfxItemSet &rItemSet)
|
||||
+{
|
||||
+ rItemSet.Put(*mpFillBitmapItem);
|
||||
+ if (mbHasFillBitmap)
|
||||
+ rItemSet.Put(XFillStyleItem(css::drawing::FillStyle_BITMAP));
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
diff --git a/sd/source/ui/inc/undoback.hxx b/sd/source/ui/inc/undoback.hxx
|
||||
index 3b1553b..35370ca 100644
|
||||
--- a/sd/source/ui/inc/undoback.hxx
|
||||
+++ b/sd/source/ui/inc/undoback.hxx
|
||||
@@ -20,11 +20,13 @@
|
||||
#ifndef INCLUDED_SD_SOURCE_UI_INC_UNDOBACK_HXX
|
||||
#define INCLUDED_SD_SOURCE_UI_INC_UNDOBACK_HXX
|
||||
|
||||
+#include <memory>
|
||||
#include "sdundo.hxx"
|
||||
|
||||
class SdDrawDocument;
|
||||
class SdPage;
|
||||
class SfxItemSet;
|
||||
+class SfxPoolItem;
|
||||
|
||||
// SdBackgroundObjUndoAction
|
||||
class SdBackgroundObjUndoAction : public SdUndoAction
|
||||
@@ -33,8 +35,12 @@ private:
|
||||
|
||||
SdPage& mrPage;
|
||||
SfxItemSet* mpItemSet;
|
||||
+ std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
|
||||
+ bool mbHasFillBitmap;
|
||||
|
||||
void ImplRestoreBackgroundObj();
|
||||
+ void saveFillBitmap(SfxItemSet &rItemSet);
|
||||
+ void restoreFillBitmap(SfxItemSet &rItemSet);
|
||||
|
||||
public:
|
||||
|
||||
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
|
||||
index e3cc478..675edb8 100644
|
||||
--- a/svx/source/svdraw/svdundo.cxx
|
||||
+++ b/svx/source/svdraw/svdundo.cxx
|
||||
@@ -17,6 +17,7 @@
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
|
||||
+#include <com/sun/star/drawing/FillStyle.hpp>
|
||||
|
||||
#include <svl/lstner.hxx>
|
||||
|
||||
@@ -27,6 +28,7 @@
|
||||
#include <svx/svdlayer.hxx>
|
||||
#include <svx/svdmodel.hxx>
|
||||
#include <svx/svdview.hxx>
|
||||
+#include <svx/xfillit0.hxx>
|
||||
#include "svx/svdstr.hrc"
|
||||
#include "svdglob.hxx"
|
||||
#include <svx/scene3d.hxx>
|
||||
@@ -1445,9 +1447,24 @@ SdrUndoPageList::~SdrUndoPageList()
|
||||
SdrUndoDelPage::SdrUndoDelPage(SdrPage& rNewPg)
|
||||
: SdrUndoPageList(rNewPg)
|
||||
, pUndoGroup(nullptr)
|
||||
+ , mbHasFillBitmap(false)
|
||||
{
|
||||
bItsMine = true;
|
||||
|
||||
+ // keep fill bitmap separately to remove it from pool if not used elsewhere
|
||||
+ if (mrPage.IsMasterPage())
|
||||
+ {
|
||||
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
||||
+ if (pStyleSheet)
|
||||
+ queryFillBitmap(pStyleSheet->GetItemSet());
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ queryFillBitmap(mrPage.getSdrPageProperties().GetItemSet());
|
||||
+ }
|
||||
+ if (bool(mpFillBitmapItem))
|
||||
+ clearFillBitmap();
|
||||
+
|
||||
// now remember the master page relationships
|
||||
if(mrPage.IsMasterPage())
|
||||
{
|
||||
@@ -1482,6 +1499,8 @@ SdrUndoDelPage::~SdrUndoDelPage()
|
||||
|
||||
void SdrUndoDelPage::Undo()
|
||||
{
|
||||
+ if (bool(mpFillBitmapItem))
|
||||
+ restoreFillBitmap();
|
||||
ImpInsertPage(nPageNum);
|
||||
if (pUndoGroup!=nullptr)
|
||||
{
|
||||
@@ -1495,6 +1514,8 @@ void SdrUndoDelPage::Undo()
|
||||
void SdrUndoDelPage::Redo()
|
||||
{
|
||||
ImpRemovePage(nPageNum);
|
||||
+ if (bool(mpFillBitmapItem))
|
||||
+ clearFillBitmap();
|
||||
// master page relations are dissolved automatically
|
||||
DBG_ASSERT(!bItsMine,"RedoDeletePage: mrPage already belongs to UndoAction.");
|
||||
bItsMine=true;
|
||||
@@ -1523,6 +1544,55 @@ bool SdrUndoDelPage::CanSdrRepeat(SdrView& /*rView*/) const
|
||||
return false;
|
||||
}
|
||||
|
||||
+void SdrUndoDelPage::queryFillBitmap(const SfxItemSet& rItemSet)
|
||||
+{
|
||||
+ const SfxPoolItem *pItem = nullptr;
|
||||
+ if (rItemSet.GetItemState(XATTR_FILLBITMAP, false, &pItem) == SfxItemState::SET)
|
||||
+ mpFillBitmapItem.reset(pItem->Clone());
|
||||
+ if (rItemSet.GetItemState(XATTR_FILLSTYLE, false, &pItem) == SfxItemState::SET)
|
||||
+ mbHasFillBitmap = static_cast<const XFillStyleItem*>(pItem)->GetValue() == css::drawing::FillStyle_BITMAP;
|
||||
+}
|
||||
+
|
||||
+void SdrUndoDelPage::clearFillBitmap()
|
||||
+{
|
||||
+ if (mrPage.IsMasterPage())
|
||||
+ {
|
||||
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
||||
+ assert(bool(pStyleSheet)); // who took away my stylesheet?
|
||||
+ SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
|
||||
+ rItemSet.ClearItem(XATTR_FILLBITMAP);
|
||||
+ if (mbHasFillBitmap)
|
||||
+ rItemSet.ClearItem(XATTR_FILLSTYLE);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ SdrPageProperties &rPageProps = mrPage.getSdrPageProperties();
|
||||
+ rPageProps.ClearItem(XATTR_FILLBITMAP);
|
||||
+ if (mbHasFillBitmap)
|
||||
+ rPageProps.ClearItem(XATTR_FILLSTYLE);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void SdrUndoDelPage::restoreFillBitmap()
|
||||
+{
|
||||
+ if (mrPage.IsMasterPage())
|
||||
+ {
|
||||
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
||||
+ assert(bool(pStyleSheet)); // who took away my stylesheet?
|
||||
+ SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
|
||||
+ rItemSet.Put(*mpFillBitmapItem);
|
||||
+ if (mbHasFillBitmap)
|
||||
+ rItemSet.Put(XFillStyleItem(css::drawing::FillStyle_BITMAP));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ SdrPageProperties &rPageProps = mrPage.getSdrPageProperties();
|
||||
+ rPageProps.PutItem(*mpFillBitmapItem);
|
||||
+ if (mbHasFillBitmap)
|
||||
+ rPageProps.PutItem(XFillStyleItem(css::drawing::FillStyle_BITMAP));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
|
||||
void SdrUndoNewPage::Undo()
|
||||
{
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 03701c986cd1082c5cd9aea7b479811c7a079bca Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Mon, 16 May 2016 14:52:47 +0200
|
||||
Subject: [PATCH] rhbz#1327847 emit .desktop trans. in predictable order
|
||||
|
||||
Change-Id: Ib07e27a9df6a08868ea505e141e2526435d2a0ef
|
||||
---
|
||||
solenv/bin/desktop-translate.pl | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/solenv/bin/desktop-translate.pl b/solenv/bin/desktop-translate.pl
|
||||
index 0680431..259e7da 100644
|
||||
--- a/solenv/bin/desktop-translate.pl
|
||||
+++ b/solenv/bin/desktop-translate.pl
|
||||
@@ -144,7 +144,7 @@ foreach $template (keys %templates) {
|
||||
print OUTFILE $keyline;
|
||||
if (/$key/) {
|
||||
my $translations = $templates{$template}->{'translations'};
|
||||
- foreach my $locale (keys %{$translations}) {
|
||||
+ foreach my $locale (sort (keys %{$translations})) {
|
||||
my $value = $translations->{$locale};
|
||||
# print "locale is $locale\n";
|
||||
# print "value is $value\n";
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 390ddd3bde617388e481b6747aa7bbea17d5ddf1 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Tue, 3 May 2016 14:49:34 +0200
|
||||
Subject: [PATCH] tdf#99353 take the footgun away from FilterCache
|
||||
|
||||
FilterCache::impl_saveItem changes the properties of a config. item
|
||||
one-by-one. But it also listens to the configuration changes and reloads
|
||||
the whole item from the configuration on change...
|
||||
|
||||
Change-Id: I9e4ed1c6b013925d07f0942717fe3421f924279d
|
||||
---
|
||||
filter/source/config/cache/filtercache.cxx | 2 +-
|
||||
filter/source/config/cache/filtercache.hxx | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
|
||||
index b9d15cf..6f5616d 100644
|
||||
--- a/filter/source/config/cache/filtercache.cxx
|
||||
+++ b/filter/source/config/cache/filtercache.cxx
|
||||
@@ -1786,7 +1786,7 @@ CacheItemList::iterator FilterCache::impl_loadItemOnDemand( EItemType
|
||||
|
||||
void FilterCache::impl_saveItem(const css::uno::Reference< css::container::XNameReplace >& xItem,
|
||||
EItemType eType,
|
||||
- const CacheItem& aItem)
|
||||
+ const CacheItem aItem)
|
||||
throw(css::uno::Exception)
|
||||
{
|
||||
CacheItem::const_iterator pIt;
|
||||
diff --git a/filter/source/config/cache/filtercache.hxx b/filter/source/config/cache/filtercache.hxx
|
||||
index 93c8d78..4f8b063 100644
|
||||
--- a/filter/source/config/cache/filtercache.hxx
|
||||
+++ b/filter/source/config/cache/filtercache.hxx
|
||||
@@ -809,7 +809,7 @@ class FilterCache : public BaseLock
|
||||
/** TODO */
|
||||
static void impl_saveItem(const css::uno::Reference< css::container::XNameReplace >& xSet ,
|
||||
EItemType eType ,
|
||||
- const CacheItem& aValue)
|
||||
+ const CacheItem aValue)
|
||||
throw(css::uno::Exception);
|
||||
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
Loading…
Reference in new issue