]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/arrimpl.cpp
Provide NSAutoreleasePool instances during initialization
[wxWidgets.git] / include / wx / arrimpl.cpp
index 8296608a019b2155b8c41ae55b633a13a0a0ec84..cee3933129b59cfe391899942a9e70306e90ec10 100644 (file)
 
 // needed to resolve the conflict between global T and macro parameter T
 
-// VC++ can't cope with string concatenation in Unicode mode
-#if defined(wxUSE_UNICODE) && wxUSE_UNICODE
-#define _WX_ERROR_REMOVE2(x)     wxT("bad index in ::RemoveAt()")
-#else
-#define _WX_ERROR_REMOVE2(x)     wxT("bad index in " #x "::RemoveAt()")
-#endif
+#define _WX_ERROR_REMOVE2(x)     wxT("bad index in ") wxT(#x) wxT("::RemoveAt()")
 
 // macro implements remaining (not inline) methods of template list
 // (it's private to this file)
@@ -75,6 +70,8 @@ void name::RemoveAt(size_t uiIndex, size_t nRemove)                           \
                                                                               \
 void name::Add(const T& item, size_t nInsert)                                 \
 {                                                                             \
+  if (nInsert == 0)                                                           \
+    return;                                                                   \
   T* pItem = new T(item);                                                     \
   size_t nOldSize = GetCount();                                               \
   if ( pItem != NULL )                                                        \
@@ -85,6 +82,8 @@ void name::Add(const T& item, size_t nInsert)                                 \
                                                                               \
 void name::Insert(const T& item, size_t uiIndex, size_t nInsert)              \
 {                                                                             \
+  if (nInsert == 0)                                                           \
+    return;                                                                   \
   T* pItem = new T(item);                                                     \
   if ( pItem != NULL )                                                        \
     wxBaseArrayPtrVoid::Insert(pItem, uiIndex, nInsert);                      \