From 71237536b6e2409f9c22f662f441833a99cca674 Mon Sep 17 00:00:00 2001
From: Robin Dunn <robin@alldunn.com>
Date: Mon, 9 May 2005 19:19:32 +0000
Subject: [PATCH] reSWIGged

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp |  10 +-
 wxPython/contrib/gizmos/mac/gizmos_wrap.cpp |  10 +-
 wxPython/contrib/gizmos/msw/gizmos_wrap.cpp |  10 +-
 wxPython/src/gtk/_controls_wrap.cpp         | 120 ++++++--------------
 wxPython/src/gtk/_core_wrap.cpp             |  10 +-
 wxPython/src/gtk/_misc_wrap.cpp             |  10 +-
 wxPython/src/gtk/grid_wrap.cpp              |  10 +-
 wxPython/src/mac/_controls_wrap.cpp         | 120 ++++++--------------
 wxPython/src/mac/_core_wrap.cpp             |  10 +-
 wxPython/src/mac/_misc_wrap.cpp             |  10 +-
 wxPython/src/mac/grid_wrap.cpp              |  10 +-
 wxPython/src/msw/_controls_wrap.cpp         | 120 ++++++--------------
 wxPython/src/msw/_core_wrap.cpp             |  10 +-
 wxPython/src/msw/_misc_wrap.cpp             |  10 +-
 wxPython/src/msw/grid_wrap.cpp              |  10 +-
 15 files changed, 144 insertions(+), 336 deletions(-)

diff --git a/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp b/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp
index 479d99f764..8a54bffbe5 100644
--- a/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp
+++ b/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp
@@ -2522,15 +2522,11 @@ static PyObject *_wrap_EditableListBox_SetStrings(PyObject *, PyObject *args, Py
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/contrib/gizmos/mac/gizmos_wrap.cpp b/wxPython/contrib/gizmos/mac/gizmos_wrap.cpp
index ede7518ad6..6dee7f65c6 100644
--- a/wxPython/contrib/gizmos/mac/gizmos_wrap.cpp
+++ b/wxPython/contrib/gizmos/mac/gizmos_wrap.cpp
@@ -2522,15 +2522,11 @@ static PyObject *_wrap_EditableListBox_SetStrings(PyObject *, PyObject *args, Py
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/contrib/gizmos/msw/gizmos_wrap.cpp b/wxPython/contrib/gizmos/msw/gizmos_wrap.cpp
index c2af961191..6295dc59aa 100644
--- a/wxPython/contrib/gizmos/msw/gizmos_wrap.cpp
+++ b/wxPython/contrib/gizmos/msw/gizmos_wrap.cpp
@@ -2522,15 +2522,11 @@ static PyObject *_wrap_EditableListBox_SetStrings(PyObject *, PyObject *args, Py
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/gtk/_controls_wrap.cpp b/wxPython/src/gtk/_controls_wrap.cpp
index 8f4a84db46..d1e73ae786 100644
--- a/wxPython/src/gtk/_controls_wrap.cpp
+++ b/wxPython/src/gtk/_controls_wrap.cpp
@@ -3826,15 +3826,11 @@ static PyObject *_wrap_new_Choice(PyObject *, PyObject *args, PyObject *kwargs)
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -3981,15 +3977,11 @@ static PyObject *_wrap_Choice_Create(PyObject *, PyObject *args, PyObject *kwarg
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -4183,15 +4175,11 @@ static PyObject *_wrap_new_ComboBox(PyObject *, PyObject *args, PyObject *kwargs
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -4357,15 +4345,11 @@ static PyObject *_wrap_ComboBox_Create(PyObject *, PyObject *args, PyObject *kwa
             int i, len=PySequence_Length(obj6);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(Py2wxString(str));
+                arg7->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7186,15 +7170,11 @@ static PyObject *_wrap_new_ListBox(PyObject *, PyObject *args, PyObject *kwargs)
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7341,15 +7321,11 @@ static PyObject *_wrap_ListBox_Create(PyObject *, PyObject *args, PyObject *kwar
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7484,15 +7460,11 @@ static PyObject *_wrap_ListBox_InsertItems(PyObject *, PyObject *args, PyObject
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
@@ -7543,15 +7515,11 @@ static PyObject *_wrap_ListBox_Set(PyObject *, PyObject *args, PyObject *kwargs)
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
@@ -8215,15 +8183,11 @@ static PyObject *_wrap_new_CheckListBox(PyObject *, PyObject *args, PyObject *kw
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -8370,15 +8334,11 @@ static PyObject *_wrap_CheckListBox_Create(PyObject *, PyObject *args, PyObject
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -13574,15 +13534,11 @@ static PyObject *_wrap_new_RadioBox(PyObject *, PyObject *args, PyObject *kwargs
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -13756,15 +13712,11 @@ static PyObject *_wrap_RadioBox_Create(PyObject *, PyObject *args, PyObject *kwa
             int i, len=PySequence_Length(obj6);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(Py2wxString(str));
+                arg7->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
diff --git a/wxPython/src/gtk/_core_wrap.cpp b/wxPython/src/gtk/_core_wrap.cpp
index 2090e0f02c..0a71f6568d 100644
--- a/wxPython/src/gtk/_core_wrap.cpp
+++ b/wxPython/src/gtk/_core_wrap.cpp
@@ -37813,15 +37813,11 @@ static PyObject *_wrap_ItemContainer_AppendItems(PyObject *, PyObject *args, PyO
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/gtk/_misc_wrap.cpp b/wxPython/src/gtk/_misc_wrap.cpp
index e23e31729e..8e06a10843 100644
--- a/wxPython/src/gtk/_misc_wrap.cpp
+++ b/wxPython/src/gtk/_misc_wrap.cpp
@@ -13840,15 +13840,11 @@ static PyObject *_wrap_new_FileTypeInfoSequence(PyObject *, PyObject *args, PyOb
         int i, len=PySequence_Length(obj0);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj0, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg1->Add(Py2wxString(str));
+            arg1->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/gtk/grid_wrap.cpp b/wxPython/src/gtk/grid_wrap.cpp
index 9ec9e0417b..810860a150 100644
--- a/wxPython/src/gtk/grid_wrap.cpp
+++ b/wxPython/src/gtk/grid_wrap.cpp
@@ -10494,15 +10494,11 @@ static PyObject *_wrap_Grid_GetTextBoxSize(PyObject *, PyObject *args, PyObject
         int i, len=PySequence_Length(obj2);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj2, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg3->Add(Py2wxString(str));
+            arg3->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/mac/_controls_wrap.cpp b/wxPython/src/mac/_controls_wrap.cpp
index d5959d4d2d..4dac96622c 100644
--- a/wxPython/src/mac/_controls_wrap.cpp
+++ b/wxPython/src/mac/_controls_wrap.cpp
@@ -3823,15 +3823,11 @@ static PyObject *_wrap_new_Choice(PyObject *, PyObject *args, PyObject *kwargs)
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -3978,15 +3974,11 @@ static PyObject *_wrap_Choice_Create(PyObject *, PyObject *args, PyObject *kwarg
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -4180,15 +4172,11 @@ static PyObject *_wrap_new_ComboBox(PyObject *, PyObject *args, PyObject *kwargs
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -4354,15 +4342,11 @@ static PyObject *_wrap_ComboBox_Create(PyObject *, PyObject *args, PyObject *kwa
             int i, len=PySequence_Length(obj6);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(Py2wxString(str));
+                arg7->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7146,15 +7130,11 @@ static PyObject *_wrap_new_ListBox(PyObject *, PyObject *args, PyObject *kwargs)
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7301,15 +7281,11 @@ static PyObject *_wrap_ListBox_Create(PyObject *, PyObject *args, PyObject *kwar
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7444,15 +7420,11 @@ static PyObject *_wrap_ListBox_InsertItems(PyObject *, PyObject *args, PyObject
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
@@ -7503,15 +7475,11 @@ static PyObject *_wrap_ListBox_Set(PyObject *, PyObject *args, PyObject *kwargs)
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
@@ -8175,15 +8143,11 @@ static PyObject *_wrap_new_CheckListBox(PyObject *, PyObject *args, PyObject *kw
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -8330,15 +8294,11 @@ static PyObject *_wrap_CheckListBox_Create(PyObject *, PyObject *args, PyObject
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -13506,15 +13466,11 @@ static PyObject *_wrap_new_RadioBox(PyObject *, PyObject *args, PyObject *kwargs
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -13688,15 +13644,11 @@ static PyObject *_wrap_RadioBox_Create(PyObject *, PyObject *args, PyObject *kwa
             int i, len=PySequence_Length(obj6);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(Py2wxString(str));
+                arg7->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
diff --git a/wxPython/src/mac/_core_wrap.cpp b/wxPython/src/mac/_core_wrap.cpp
index 2090e0f02c..0a71f6568d 100644
--- a/wxPython/src/mac/_core_wrap.cpp
+++ b/wxPython/src/mac/_core_wrap.cpp
@@ -37813,15 +37813,11 @@ static PyObject *_wrap_ItemContainer_AppendItems(PyObject *, PyObject *args, PyO
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/mac/_misc_wrap.cpp b/wxPython/src/mac/_misc_wrap.cpp
index b871175eca..d75b2a1a3f 100644
--- a/wxPython/src/mac/_misc_wrap.cpp
+++ b/wxPython/src/mac/_misc_wrap.cpp
@@ -13832,15 +13832,11 @@ static PyObject *_wrap_new_FileTypeInfoSequence(PyObject *, PyObject *args, PyOb
         int i, len=PySequence_Length(obj0);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj0, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg1->Add(Py2wxString(str));
+            arg1->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/mac/grid_wrap.cpp b/wxPython/src/mac/grid_wrap.cpp
index febd80dfc0..166d5bd5aa 100644
--- a/wxPython/src/mac/grid_wrap.cpp
+++ b/wxPython/src/mac/grid_wrap.cpp
@@ -10494,15 +10494,11 @@ static PyObject *_wrap_Grid_GetTextBoxSize(PyObject *, PyObject *args, PyObject
         int i, len=PySequence_Length(obj2);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj2, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg3->Add(Py2wxString(str));
+            arg3->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/msw/_controls_wrap.cpp b/wxPython/src/msw/_controls_wrap.cpp
index 479d15b971..b937b426c6 100644
--- a/wxPython/src/msw/_controls_wrap.cpp
+++ b/wxPython/src/msw/_controls_wrap.cpp
@@ -3823,15 +3823,11 @@ static PyObject *_wrap_new_Choice(PyObject *, PyObject *args, PyObject *kwargs)
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -3978,15 +3974,11 @@ static PyObject *_wrap_Choice_Create(PyObject *, PyObject *args, PyObject *kwarg
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -4180,15 +4172,11 @@ static PyObject *_wrap_new_ComboBox(PyObject *, PyObject *args, PyObject *kwargs
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -4354,15 +4342,11 @@ static PyObject *_wrap_ComboBox_Create(PyObject *, PyObject *args, PyObject *kwa
             int i, len=PySequence_Length(obj6);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(Py2wxString(str));
+                arg7->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7183,15 +7167,11 @@ static PyObject *_wrap_new_ListBox(PyObject *, PyObject *args, PyObject *kwargs)
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7338,15 +7318,11 @@ static PyObject *_wrap_ListBox_Create(PyObject *, PyObject *args, PyObject *kwar
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -7481,15 +7457,11 @@ static PyObject *_wrap_ListBox_InsertItems(PyObject *, PyObject *args, PyObject
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
@@ -7540,15 +7512,11 @@ static PyObject *_wrap_ListBox_Set(PyObject *, PyObject *args, PyObject *kwargs)
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
@@ -8212,15 +8180,11 @@ static PyObject *_wrap_new_CheckListBox(PyObject *, PyObject *args, PyObject *kw
             int i, len=PySequence_Length(obj4);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(Py2wxString(str));
+                arg5->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -8367,15 +8331,11 @@ static PyObject *_wrap_CheckListBox_Create(PyObject *, PyObject *args, PyObject
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -13635,15 +13595,11 @@ static PyObject *_wrap_new_RadioBox(PyObject *, PyObject *args, PyObject *kwargs
             int i, len=PySequence_Length(obj5);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(Py2wxString(str));
+                arg6->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
@@ -13817,15 +13773,11 @@ static PyObject *_wrap_RadioBox_Create(PyObject *, PyObject *args, PyObject *kwa
             int i, len=PySequence_Length(obj6);
             for (i=0; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(Py2wxString(str));
+                arg7->Add(*s);
+                delete s;
                 Py_DECREF(item);
-                Py_DECREF(str);
             }
         }
     }
diff --git a/wxPython/src/msw/_core_wrap.cpp b/wxPython/src/msw/_core_wrap.cpp
index 97fdbc0ff3..6998e4fdcd 100644
--- a/wxPython/src/msw/_core_wrap.cpp
+++ b/wxPython/src/msw/_core_wrap.cpp
@@ -37831,15 +37831,11 @@ static PyObject *_wrap_ItemContainer_AppendItems(PyObject *, PyObject *args, PyO
         int i, len=PySequence_Length(obj1);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(Py2wxString(str));
+            arg2->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/msw/_misc_wrap.cpp b/wxPython/src/msw/_misc_wrap.cpp
index ff49291500..9304c94221 100644
--- a/wxPython/src/msw/_misc_wrap.cpp
+++ b/wxPython/src/msw/_misc_wrap.cpp
@@ -13831,15 +13831,11 @@ static PyObject *_wrap_new_FileTypeInfoSequence(PyObject *, PyObject *args, PyOb
         int i, len=PySequence_Length(obj0);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj0, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg1->Add(Py2wxString(str));
+            arg1->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
diff --git a/wxPython/src/msw/grid_wrap.cpp b/wxPython/src/msw/grid_wrap.cpp
index 8e03991bad..6b42142103 100644
--- a/wxPython/src/msw/grid_wrap.cpp
+++ b/wxPython/src/msw/grid_wrap.cpp
@@ -10494,15 +10494,11 @@ static PyObject *_wrap_Grid_GetTextBoxSize(PyObject *, PyObject *args, PyObject
         int i, len=PySequence_Length(obj2);
         for (i=0; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj2, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg3->Add(Py2wxString(str));
+            arg3->Add(*s);
+            delete s;
             Py_DECREF(item);
-            Py_DECREF(str);
         }
     }
     {
-- 
2.47.2