]> git.saurik.com Git - wxWidgets.git/commitdiff
Bug fixes
authorRobin Dunn <robin@alldunn.com>
Tue, 20 Nov 2001 07:40:26 +0000 (07:40 +0000)
committerRobin Dunn <robin@alldunn.com>
Tue, 20 Nov 2001 07:40:26 +0000 (07:40 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/src/helpers.cpp
wxPython/src/misc2.i
wxPython/src/msw/misc2.cpp
wxPython/src/msw/misc2.py

index 187a0673c8945f22c987040483d24f8d6b6568de..9c4cb6ecdaacf3ef43843ffe41a52664a51e4601 100644 (file)
@@ -1306,7 +1306,7 @@ PyObject* wxArrayString2PyList_helper(const wxArrayString& arr) {
     for (size_t i=0; i < arr.GetCount(); i++) {
         PyObject* str = PyString_FromString(arr[i].c_str());
         PyList_Append(list, str);
-        // TODO:  Check refcount on str...
+        Py_DECREF(str);
     }
     return list;
 }
index 9da8e9f5303ed4fb7746b23c62d7fc8353bf0335..1e11812c298580603fe91b10743b87504a46782f 100644 (file)
@@ -347,8 +347,8 @@ IMP_PYCALLBACK_BOOL_STRINGSTRING(wxPyFontEnumerator, wxFontEnumerator, OnFontEnc
 public:
     wxPyFontEnumerator();
     ~wxPyFontEnumerator();
-    void _setCallbackInfo(PyObject* self, PyObject* _class);
-    %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxFontEnumerator)"
+    void _setCallbackInfo(PyObject* self, PyObject* _class, bool incref);
+    %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxFontEnumerator, 0)"
 
     bool EnumerateFacenames(
         wxFontEncoding encoding = wxFONTENCODING_SYSTEM, // all
@@ -360,12 +360,12 @@ public:
     %addmethods {
         PyObject* GetEncodings() {
             wxArrayString* arr = self->GetEncodings();
-            return wxArrayString2PyList_helper(arr);
+            return wxArrayString2PyList_helper(*arr);
         }
 
         PyObject* GetFacenames() {
             wxArrayString* arr = self->GetFacenames();
-            return wxArrayString2PyList_helper(arr);
+            return wxArrayString2PyList_helper(*arr);
         }
     }
 };
index 0d19b32cbe2026f705fd92369b7034c0c606a1da..b7a854bdaa2f69a00ea50077fcc510727c1d49b4 100644 (file)
@@ -3037,19 +3037,21 @@ static PyObject *_wrap_delete_wxFontEnumerator(PyObject *self, PyObject *args, P
     return _resultobj;
 }
 
-#define wxFontEnumerator__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+#define wxFontEnumerator__setCallbackInfo(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1,_swigarg2))
 static PyObject *_wrap_wxFontEnumerator__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPyFontEnumerator * _arg0;
     PyObject * _arg1;
     PyObject * _arg2;
+    bool  _arg3;
     PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
     PyObject * _obj2 = 0;
-    char *_kwnames[] = { "self","self","_class", NULL };
+    int tempbool3;
+    char *_kwnames[] = { "self","self","_class","incref", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxFontEnumerator__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOi:wxFontEnumerator__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2,&tempbool3)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -3064,9 +3066,10 @@ static PyObject *_wrap_wxFontEnumerator__setCallbackInfo(PyObject *self, PyObjec
 {
   _arg2 = _obj2;
 }
+    _arg3 = (bool ) tempbool3;
 {
     wxPy_BEGIN_ALLOW_THREADS;
-        wxFontEnumerator__setCallbackInfo(_arg0,_arg1,_arg2);
+        wxFontEnumerator__setCallbackInfo(_arg0,_arg1,_arg2,_arg3);
 
     wxPy_END_ALLOW_THREADS;
 }    Py_INCREF(Py_None);
@@ -3135,7 +3138,7 @@ static PyObject *_wrap_wxFontEnumerator_EnumerateEncodings(PyObject *self, PyObj
 
 static PyObject * wxPyFontEnumerator_GetEncodings(wxPyFontEnumerator *self) {
             wxArrayString* arr = self->GetEncodings();
-            return wxArrayString2PyList_helper(arr);
+            return wxArrayString2PyList_helper(*arr);
         }
 static PyObject *_wrap_wxFontEnumerator_GetEncodings(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -3167,7 +3170,7 @@ static PyObject *_wrap_wxFontEnumerator_GetEncodings(PyObject *self, PyObject *a
 
 static PyObject * wxPyFontEnumerator_GetFacenames(wxPyFontEnumerator *self) {
             wxArrayString* arr = self->GetFacenames();
-            return wxArrayString2PyList_helper(arr);
+            return wxArrayString2PyList_helper(*arr);
         }
 static PyObject *_wrap_wxFontEnumerator_GetFacenames(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
index cfc0d4b3aa3799de93ada6d49fa55cf381ac117d..f8be3794cbe6682a8b87729aa8f3af906da1fe2f 100644 (file)
@@ -123,7 +123,7 @@ class wxFontEnumerator(wxFontEnumeratorPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(misc2c.new_wxFontEnumerator,_args,_kwargs)
         self.thisown = 1
-        self._setCallbackInfo(self, wxFontEnumerator)
+        self._setCallbackInfo(self, wxFontEnumerator, 0)