summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-11-06 09:51:48 +0000
committerCaolán McNamara <caolanm@redhat.com>2019-11-06 11:44:46 +0100
commit8cdf166552aea7cb3dbdc183b76b5457c6651cf7 (patch)
tree06d398139ee3fa5ba0bbcb06b8f2a17aa0ee7d9c
parentd71cf6390a89ea6a4fab724e3a7996f28ca33661 (diff)
ofz#12553 Timeout
before: real 1m37.479s user 1m30.682s sys 0m0.261s after: real 0m44.166s user 0m44.010s sys 0m0.056s Change-Id: I9832a2aac0278120fb62fe4a6a3e4507fc80e36f Reviewed-on: https://gerrit.libreoffice.org/82129 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--include/editeng/outlobj.hxx2
-rw-r--r--include/o3tl/cow_wrapper.hxx13
2 files changed, 15 insertions, 0 deletions
diff --git a/include/editeng/outlobj.hxx b/include/editeng/outlobj.hxx
index 364ec740b57f..a28e255634e5 100644
--- a/include/editeng/outlobj.hxx
+++ b/include/editeng/outlobj.hxx
@@ -47,6 +47,8 @@ struct OutlinerParaObjData
OutlinerParaObjData( const OutlinerParaObjData& r );
+ OutlinerParaObjData( OutlinerParaObjData&& r ) = default;
+
// assignment operator
OutlinerParaObjData& operator=(const OutlinerParaObjData& rCandidate) = delete;
diff --git a/include/o3tl/cow_wrapper.hxx b/include/o3tl/cow_wrapper.hxx
index 2fa7f03f276f..b9c463b852e4 100644
--- a/include/o3tl/cow_wrapper.hxx
+++ b/include/o3tl/cow_wrapper.hxx
@@ -194,6 +194,12 @@ int cow_wrapper_client::queryUnmodified() const
{
}
+ explicit impl_t( T&& v ) :
+ m_value(std::move(v)),
+ m_ref_count(1)
+ {
+ }
+
T m_value;
typename MTPolicy::ref_count_t m_ref_count;
};
@@ -227,6 +233,13 @@ int cow_wrapper_client::queryUnmodified() const
{
}
+ /** Move-construct wrapped type instance from given object
+ */
+ explicit cow_wrapper( value_type&& r ) :
+ m_pimpl( new impl_t(std::move(r)) )
+ {
+ }
+
/** Shallow-copy given cow_wrapper
*/
explicit cow_wrapper( const cow_wrapper& rSrc ) : // nothrow