sot/source/base/exchange.cxx | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-)
New commits: commit e98986dbd2dbcddc872db14553ab4178af199044 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sat Sep 20 10:52:34 2025 +0200 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sat Sep 20 15:55:12 2025 +0200 Use GetFormatIdFromMimeType in RegisterFormatMimeType This follows the pattern in RegisterFormat, which uses GetFormat. This is potentially a functional change, because now RegisterFormatMimeType uses the "Hack for a temporary chart format string StarChartDocument 5.0" introduced in commit 0dd53c8d117b1716654c1aaf1a839ac9d0baf5b9. But taking into account the only place where the function is used, it will not change program behavior at all. Change-Id: Ie02acd67e86f5ab6f7fb699f8b44dcff8a93cb21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191223 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins diff --git a/sot/source/base/exchange.cxx b/sot/source/base/exchange.cxx index 7af3e1c9a342..3ef211dc3773 100644 --- a/sot/source/base/exchange.cxx +++ b/sot/source/base/exchange.cxx @@ -301,33 +301,20 @@ SotClipboardFormatId SotExchange::RegisterFormatName( const OUString& rName ) SotClipboardFormatId SotExchange::RegisterFormatMimeType( const OUString& rMimeType ) { - const DataFlavorRepresentation *pFormatArray_Impl = FormatArray_Impl(); - // test the default first - name - for( SotClipboardFormatId i = SotClipboardFormatId::STRING; i <= SotClipboardFormatId::FILE_LIST; ++i ) - if( rMimeType.equals( pFormatArray_Impl[ static_cast<int>(i) ].pMimeType ) ) - return i; + SotClipboardFormatId nRet = GetFormatIdFromMimeType(rMimeType); - for( SotClipboardFormatId i = SotClipboardFormatId::RTF; i <= SotClipboardFormatId::USER_END; ++i ) - if( rMimeType.equals( pFormatArray_Impl[ static_cast<int>(i) ].pMimeType ) ) - return i; - - // then in the dynamic list - tDataFlavorList& rL = InitFormats_Impl(); - for( tDataFlavorList::size_type i = 0; i < rL.size(); i++ ) + if( nRet == SotClipboardFormatId::NONE ) { - auto const& rFlavor = rL[ i ]; - if( rMimeType == rFlavor.MimeType ) - return FormatIdOfDynamicFormat(i); + tDataFlavorList& rL = InitFormats_Impl(); + nRet = FormatIdOfDynamicFormat(rL.size()); + DataFlavor aNewFlavor; + aNewFlavor.MimeType = rMimeType; + aNewFlavor.HumanPresentableName = rMimeType; + aNewFlavor.DataType = cppu::UnoType<OUString>::get(); + rL.emplace_back(aNewFlavor); } - DataFlavor aNewFlavor; - aNewFlavor.MimeType = rMimeType; - aNewFlavor.HumanPresentableName = rMimeType; - aNewFlavor.DataType = cppu::UnoType<OUString>::get(); - - rL.push_back( std::move(aNewFlavor) ); - - return FormatIdOfDynamicFormat(rL.size() - 1); + return nRet; } /*************************************************************************