Fix tdf#147755 by copying the vector.
Revert partially 224953d896a3dba5d85992394525ab8b54d8c314
Change-Id: Ic12d3b0a080ad3af69fa5c4e8c9b4d331305a663
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131066
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 82f9e12b737b3dbdf8cb9175c94d61005b666725)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131012
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 6fbaaff..fee12d9 100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -279,7 +279,7 @@ public:
void calccols(const vcl::RenderContext& rRenderContext);
void SelectSymbol(sal_uInt16 nSymbol);
sal_uInt16 GetSelectSymbol() const { return nSelectSymbol; }
void SetSymbolSet(SymbolPtrVec_t && rSymbolSet);
void SetSymbolSet(const SymbolPtrVec_t & rSymbolSet);
void SetSelectHdl(const Link<SmShowSymbolSet&,void>& rLink) { aSelectHdlLink = rLink; }
void SetDblClickHdl(const Link<SmShowSymbolSet&,void>& rLink) { aDblClickHdlLink = rLink; }
};
diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index b7d875f..8cf4029 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -1103,9 +1103,9 @@ void SmShowSymbolSet::calccols(const vcl::RenderContext& rRenderContext)
SetScrollBarRange();
}
void SmShowSymbolSet::SetSymbolSet(SymbolPtrVec_t && rSymbolSet)
void SmShowSymbolSet::SetSymbolSet(const SymbolPtrVec_t & rSymbolSet)
{
aSymbolSet = std::move(rSymbolSet);
aSymbolSet = rSymbolSet;
SetScrollBarRange();
Invalidate();
}
@@ -1257,7 +1257,7 @@ IMPL_LINK_NOARG(SmSymbolDialog, EditClickHdl, weld::Button&, void)
// just update display of current symbol set
assert(aSymSetName == aSymSetName); //unexpected change in symbol set name
aSymbolSet = rSymbolMgr.GetSymbolSet( aSymbolSetName );
m_xSymbolSetDisplay->SetSymbolSet( std::vector(aSymbolSet) );
m_xSymbolSetDisplay->SetSymbolSet( aSymbolSet );
}
if (nSymPos >= aSymbolSet.size())
@@ -1350,7 +1350,7 @@ bool SmSymbolDialog::SelectSymbolSet(const OUString &rSymbolSetName)
} );
const bool bEmptySymbolSet = aSymbolSet.empty();
m_xSymbolSetDisplay->SetSymbolSet( std::move(aSymbolSet) );
m_xSymbolSetDisplay->SetSymbolSet( aSymbolSet );
if (!bEmptySymbolSet)
SelectSymbol(0);