diff -abBdpuNPr --exclude='*.svn' irrlicht-svn-ss/trunk/include/irrArray.h Irrlicht_starsonata/include/irrArray.h --- irrlicht-svn-ss/trunk/include/irrArray.h 2007-07-26 02:11:22.000000000 +0200 +++ Irrlicht_starsonata/include/irrArray.h 2008-01-04 22:55:52.000000000 +0100 @@ -131,10 +131,14 @@ public: for (u32 i=used; i>0; --i) { //data[i] = data[i-1]; + if ( i 0 ) + allocator.destruct(&data[0]); allocator.construct(&data[0], element); is_sorted = false; @@ -154,11 +158,18 @@ public: if (used + 1 > allocated) reallocate(used +1); - for (u32 i=used++; i>index; --i) + for (u32 i=used; i>index; --i) + { + if ( i index ) + allocator.destruct(&data[index]); allocator.construct(&data[index], element); // data[index] = element; is_sorted = false; + ++used; }