follow up on patch [#26215], not all weakref references were ifdef'd
authorCampbell Barton <ideasman42@gmail.com>
Fri, 25 Feb 2011 15:07:25 +0000 (15:07 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 25 Feb 2011 15:07:25 +0000 (15:07 +0000)
source/gameengine/Expressions/PyObjectPlus.cpp
source/gameengine/Expressions/PyObjectPlus.h

index 84d6a1cba4bfdc221b578d000c7625d69a81a5f1..e205ddfda2e444dfa0b84c35cb237bb447d040bd 100644 (file)
@@ -1122,7 +1122,9 @@ PyObject *PyObjectPlus::GetProxyPlus_Ext(PyObjectPlus *self, PyTypeObject *tp, v
                self->m_proxy = reinterpret_cast<PyObject *>PyObject_NEW( PyObjectPlus_Proxy, tp);
                BGE_PROXY_PYOWNS(self->m_proxy) = false;
                BGE_PROXY_PYREF(self->m_proxy) = true;
+#ifdef USE_WEAKREFS
                BGE_PROXY_WKREF(self->m_proxy) = NULL;
+#endif
        }
        //PyObject_Print(self->m_proxy, stdout, 0);
        //printf("ref %d\n", self->m_proxy->ob_refcnt);
@@ -1143,7 +1145,9 @@ PyObject *PyObjectPlus::NewProxyPlus_Ext(PyObjectPlus *self, PyTypeObject *tp, v
                BGE_PROXY_PYOWNS(proxy) = py_owns;
                BGE_PROXY_REF(proxy) = NULL; 
                BGE_PROXY_PTR(proxy) = ptr;
+#ifdef USE_WEAKREFS
                BGE_PROXY_WKREF(self->m_proxy) = NULL;
+#endif
                return proxy;
        }
        if (self->m_proxy)
index 315a328317dd869e541df497b658dcffd3d989dd..7d06cc64ee9c05194a50ed394eb5cd58e65ec21f 100644 (file)
@@ -108,7 +108,9 @@ typedef struct PyObjectPlus_Proxy {
 #define BGE_PROXY_PTR(_self) (((PyObjectPlus_Proxy *)_self)->ptr)
 #define BGE_PROXY_PYOWNS(_self) (((PyObjectPlus_Proxy *)_self)->py_owns)
 #define BGE_PROXY_PYREF(_self) (((PyObjectPlus_Proxy *)_self)->py_ref)
-#define BGE_PROXY_WKREF(_self) (((PyObjectPlus_Proxy *)_self)->in_weakreflist)
+#ifdef USE_WEAKREFS
+       #define BGE_PROXY_WKREF(_self) (((PyObjectPlus_Proxy *)_self)->in_weakreflist)
+#endif
 
 /* Note, sometimes we dont care what BGE type this is as long as its a proxy */
 #define BGE_PROXY_CHECK_TYPE(_type) ((_type)->tp_dealloc == PyObjectPlus::py_base_dealloc)