summaryrefslogtreecommitdiffstats
path: root/svx/source/unodraw/unoshcol.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2016-01-19 19:45:45 +0200
committerNoel Grandin <noel@peralex.com>2016-01-25 08:52:03 +0200
commit752cd07d085ac0aadc99bd512d49072843139032 (patch)
tree21ff2f55761b34bfdd721b5e1ed43333e8874e46 /svx/source/unodraw/unoshcol.cxx
parenttdf#86567 Dropdown for conditional formatting (diff)
downloadcore-752cd07d085ac0aadc99bd512d49072843139032.tar.gz
core-752cd07d085ac0aadc99bd512d49072843139032.zip
InterfaceContainer2 with vector instead of Sequence
create an InterfaceContainer2 class to replace InterfaceContainer. It uses a std::vector instead of a Sequence for the mutable listener list, which provides far better performance. Switch all our internal use-sites to the new class. Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
Diffstat (limited to 'svx/source/unodraw/unoshcol.cxx')
-rw-r--r--svx/source/unodraw/unoshcol.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/svx/source/unodraw/unoshcol.cxx b/svx/source/unodraw/unoshcol.cxx
index e28b50288056..5057ba801c9e 100644
--- a/svx/source/unodraw/unoshcol.cxx
+++ b/svx/source/unodraw/unoshcol.cxx
@@ -25,6 +25,7 @@
#include <cppuhelper/implbase3.hxx>
#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/interfacecontainer2.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <osl/mutex.hxx>
#include <rtl/ref.hxx>
@@ -46,7 +47,7 @@ class SvxShapeCollection :
public SvxShapeCollectionMutex
{
private:
- cppu::OInterfaceContainerHelper maShapeContainer;
+ comphelper::OInterfaceContainerHelper2 maShapeContainer;
cppu::OBroadcastHelper mrBHelper;
@@ -229,10 +230,10 @@ uno::Any SAL_CALL SvxShapeCollection::getByIndex( sal_Int32 Index )
if( Index < 0 || Index >= getCount() )
throw lang::IndexOutOfBoundsException();
- uno::Sequence< Reference< uno::XInterface> > xElements( maShapeContainer.getElements() );
+ std::vector< Reference< uno::XInterface> > xElements( maShapeContainer.getElements() );
- return uno::makeAny( Reference< drawing::XShape>(static_cast< drawing::XShape* >( xElements.getArray()[Index].get())) );
+ return uno::makeAny( Reference< drawing::XShape>(static_cast< drawing::XShape* >( xElements[Index].get())) );
}
// XElementAccess