hi,

there is a bug in the handling of RPointerArray's Array()-Method in the latest Series80 SDK - in e32std.inl and e32std.h, the return value of Array() for this template is a TArray<T>, but it really should be TArray<T*>.

patch:

Code:
--- epoc32/include/E32STD.INL.orig	2005-01-04 10:18:26.000000000 +0100
+++ epoc32/include/E32STD.INL	2005-12-01 20:16:30.000000000 +0100
@@ -3240,8 +3240,8 @@
 inline void RPointerArray<T>::Sort(TLinearOrder<T> anOrder)
 	{ HeapSort(anOrder); }
 template <class T>
-inline TArray<T> RPointerArray<T>::Array() const
-	{ return TArray<T>(GetCount,GetElementPtr,(const CBase*)this); }
+inline TArray<T*> RPointerArray<T>::Array() const
+	{ return TArray<T*>(GetCount,GetElementPtr,(const CBase*)this); }
 
 template <class T>
 void RPointerArray<T>::ResetAndDestroy()
--- epoc32/include/E32STD.H.orig	2005-12-01 20:42:13.328125000 +0100
+++ epoc32/include/E32STD.H	2005-12-01 20:20:04.000000000 +0100
@@ -4187,7 +4187,7 @@
 	inline TInt InsertInOrderAllowRepeats(const T* anEntry, TLinearOrder<T> anOrder);
 	inline void SortIntoAddressOrder();
 	inline void Sort(TLinearOrder<T> anOrder);
-	inline TArray<T> Array() const;
+	inline TArray<T*> Array() const;
 	};
 
 class RArrayBase
or save yourself the cut&past and download it :
http://f4k3.net/~fake/patches/s80-sd...late-fix.patch

apply with 'patch -p0 < patchfile' in %EPOCROOT%.

just because i didn't find anything on this here.

greetz,

fake