[Libreoffice-commits] core.git: svx/source

Stephan Bergmann sbergman at redhat.com
Thu Apr 9 06:34:39 PDT 2015


 svx/source/items/clipfmtitem.cxx |   17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

New commits:
commit 2355a3458598f62c78301d503fdab24010c58f09
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Apr 9 15:20:53 2015 +0200

    Just use a plain std::vector<OUString>
    
    Nothing obvious that would speak against converting from the original
    SvStringsDtor to plain std::vector<...> instead of slavishly sticking to
    boost::ptr_vector<boost::nullable<...>>.  Also, prevents a false -fsanitize=null
    warning about "reference binding to null pointer of type 'rtl::OUString'" in
    boost::void_ptr_iterator<...>::operator*() during ~SvxClipboardFmtItem_Impl().
    
    Change-Id: I08d8fc573ff99a5bddd67c0d2be4e7ea38025958

diff --git a/svx/source/items/clipfmtitem.cxx b/svx/source/items/clipfmtitem.cxx
index bc9362f..eafce453 100644
--- a/svx/source/items/clipfmtitem.cxx
+++ b/svx/source/items/clipfmtitem.cxx
@@ -17,14 +17,16 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <sal/config.h>
+
+#include <vector>
+
 #include <svx/clipfmtitem.hxx>
 #include <com/sun/star/frame/status/ClipboardFormats.hpp>
 
-#include <boost/ptr_container/ptr_vector.hpp>
-
 struct SvxClipboardFmtItem_Impl
 {
-    boost::ptr_vector< boost::nullable<OUString> > aFmtNms;
+    std::vector<OUString> aFmtNms;
     std::vector<SotClipboardFormatId> aFmtIds;
 
     SvxClipboardFmtItem_Impl() {}
@@ -102,8 +104,7 @@ bool SvxClipboardFmtItem::operator==( const SfxPoolItem& rComp ) const
     for( sal_uInt16 n = 0, nEnd = rCmp.pImpl->aFmtNms.size(); n < nEnd; ++n )
     {
         if( pImpl->aFmtIds[ n ] != rCmp.pImpl->aFmtIds[ n ] ||
-            ( pImpl->aFmtNms.is_null(n) != rCmp.pImpl->aFmtNms.is_null(n) ) ||
-            ( !pImpl->aFmtNms.is_null(n) && pImpl->aFmtNms[n] != rCmp.pImpl->aFmtNms[n] ) )
+            pImpl->aFmtNms[n] != rCmp.pImpl->aFmtNms[n] )
         {
             nRet = 0;
             break;
@@ -123,7 +124,7 @@ void SvxClipboardFmtItem::AddClipbrdFormat( SotClipboardFormatId nId, sal_uInt16
     if( nPos > pImpl->aFmtNms.size() )
         nPos = pImpl->aFmtNms.size();
 
-    pImpl->aFmtNms.insert(pImpl->aFmtNms.begin() + nPos, 0);
+    pImpl->aFmtNms.insert(pImpl->aFmtNms.begin() + nPos, OUString());
     pImpl->aFmtIds.insert( pImpl->aFmtIds.begin()+nPos, nId );
 }
 
@@ -133,7 +134,7 @@ void SvxClipboardFmtItem::AddClipbrdFormat( SotClipboardFormatId nId, const OUSt
     if( nPos > pImpl->aFmtNms.size() )
         nPos = pImpl->aFmtNms.size();
 
-    pImpl->aFmtNms.insert(pImpl->aFmtNms.begin() + nPos, new OUString(rName));
+    pImpl->aFmtNms.insert(pImpl->aFmtNms.begin() + nPos, rName);
     pImpl->aFmtIds.insert( pImpl->aFmtIds.begin()+nPos, nId );
 }
 
@@ -149,7 +150,7 @@ SotClipboardFormatId SvxClipboardFmtItem::GetClipbrdFormatId( sal_uInt16 nPos )
 
 const OUString SvxClipboardFmtItem::GetClipbrdFormatName( sal_uInt16 nPos ) const
 {
-    return pImpl->aFmtNms.is_null(nPos) ? OUString() : pImpl->aFmtNms[nPos];
+    return pImpl->aFmtNms[nPos];
 }
 
 


More information about the Libreoffice-commits mailing list