vcl/inc/qt5/QtTransferable.hxx | 2 -- vcl/qt5/QtTransferable.cxx | 13 +------------ 2 files changed, 1 insertion(+), 14 deletions(-)
New commits: commit fedd7587477ae7c2b3f3cb350db3aeedbbb20f1c Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Feb 9 10:55:16 2024 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Apr 30 11:04:33 2024 +0200 tdf#156562 qt: Don't cache supported mime types/data flavors Drop the optimization to remember the supported data flavors in `QtTransferable::m_aMimeTypeSeq` and evaluate them each time instead. This is in preparation of allowing to change the mime data in an upcoming commit. Another alternative would be to (re-)calculate `QtTransferable::m_aMimeTypeSeq` only at the point in time that the mime data are set. Keep that in mind for further consideration in case this should ever become relevant from a performance perspective. Change-Id: Ic1792f6c2a19bf4c8f642a6288e9f3413fe7c893 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163303 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> (cherry picked from commit ee03b3a7e85c7bb293e161cc6ea7fe7bb3bc9240) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166140 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/vcl/inc/qt5/QtTransferable.hxx b/vcl/inc/qt5/QtTransferable.hxx index 5f1533dd5968..11d673b98a12 100644 --- a/vcl/inc/qt5/QtTransferable.hxx +++ b/vcl/inc/qt5/QtTransferable.hxx @@ -34,9 +34,7 @@ class QtTransferable : public cppu::WeakImplHelper<css::datatransfer::XTransfera QtTransferable(const QtTransferable&) = delete; const QMimeData* m_pMimeData; - osl::Mutex m_aMutex; bool m_bProvideUTF16FromOtherEncoding; - css::uno::Sequence<css::datatransfer::DataFlavor> m_aMimeTypeSeq; public: QtTransferable(const QMimeData* pMimeData); diff --git a/vcl/qt5/QtTransferable.cxx b/vcl/qt5/QtTransferable.cxx index d9e0beaa71d3..675e5ef75cdc 100644 --- a/vcl/qt5/QtTransferable.cxx +++ b/vcl/qt5/QtTransferable.cxx @@ -50,16 +50,6 @@ QtTransferable::QtTransferable(const QMimeData* pMimeData) css::uno::Sequence<css::datatransfer::DataFlavor> SAL_CALL QtTransferable::getTransferDataFlavors() { - // it's just filled once, ever, so just try to get it without locking first - if (m_aMimeTypeSeq.hasElements()) - return m_aMimeTypeSeq; - - // better safe then sorry; preventing broken usage - // DnD should not be shared and Clipboard access runs in the GUI thread - osl::MutexGuard aGuard(m_aMutex); - if (m_aMimeTypeSeq.hasElements()) - return m_aMimeTypeSeq; - QStringList aFormatList(m_pMimeData->formats()); // we might add the UTF-16 mime text variant later const int nMimeTypeSeqSize = aFormatList.size() + 1; @@ -113,8 +103,7 @@ css::uno::Sequence<css::datatransfer::DataFlavor> SAL_CALL QtTransferable::getTr aMimeTypeSeq.realloc(nMimeTypeCount); - m_aMimeTypeSeq = aMimeTypeSeq; - return m_aMimeTypeSeq; + return aMimeTypeSeq; } sal_Bool SAL_CALL