Update of /cvsroot/wpdev/wolfpack/python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32025/python
Modified Files:
char.cpp item.cpp utilities.h
Log Message:
Fixes for certain crashes.
Index: item.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/python/item.cpp,v
retrieving revision 1.130
retrieving revision 1.131
diff -C2 -d -r1.130 -r1.131
*** item.cpp 9 Sep 2004 02:07:51 -0000 1.130
--- item.cpp 10 Sep 2004 04:06:27 -0000 1.131
***************
*** 119,122 ****
--- 119,130 ----
};
+ PyObject* PyCreateItemObject( P_ITEM item )
+ {
+ // wpItem *returnVal = ItemCache::instance()->allocObj( &wpItemType );
+ wpItem* returnVal = PyObject_New( wpItem, &wpItemType );
+ returnVal->pItem = item;
+ return ( PyObject * ) returnVal;
+ }
+
PyObject* PyGetItemObject( P_ITEM item )
{
***************
*** 124,133 ****
{
Py_RETURN_NONE;
}
-
- // wpItem *returnVal = ItemCache::instance()->allocObj( &wpItemType );
- wpItem* returnVal = PyObject_New( wpItem, &wpItemType );
- returnVal->pItem = item;
- return ( PyObject * ) returnVal;
}
--- 132,138 ----
{
Py_RETURN_NONE;
+ } else {
+ return item->getPyObject();
}
}
Index: utilities.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/python/utilities.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** utilities.h 6 Sep 2004 22:31:26 -0000 1.43
--- utilities.h 10 Sep 2004 04:06:27 -0000 1.44
***************
*** 84,87 ****
--- 84,88 ----
bool checkWpItem( PyObject* object );
PyObject* PyGetItemObject( P_ITEM );
+ PyObject* PyCreateItemObject( P_ITEM );
P_ITEM getWpItem( PyObject* );
int PyConvertItem( PyObject*, P_ITEM* item );
***************
*** 91,94 ****
--- 92,96 ----
bool checkWpChar( PyObject* object );
PyObject* PyGetCharObject( P_CHAR );
+ PyObject* PyCreateCharObject( P_CHAR );
P_CHAR getWpChar( PyObject* );
int PyConvertChar( PyObject* object, P_CHAR* character );
Index: char.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/python/char.cpp,v
retrieving revision 1.189
retrieving revision 1.190
diff -C2 -d -r1.189 -r1.190
*** char.cpp 7 Sep 2004 20:21:27 -0000 1.189
--- char.cpp 10 Sep 2004 04:06:27 -0000 1.190
***************
*** 151,163 ****
};
!
!
! PyObject* PyGetCharObject( P_CHAR pChar )
{
- if ( !pChar )
- {
- Py_RETURN_NONE;
- }
-
// wpChar *returnVal = CharCache::instance()->allocObj( &wpCharType );
wpChar* returnVal = PyObject_New( wpChar, &wpCharType );
--- 151,157 ----
};
! // I N T E R N A L
! PyObject *PyCreateCharObject( P_CHAR pChar )
{
// wpChar *returnVal = CharCache::instance()->allocObj( &wpCharType );
wpChar* returnVal = PyObject_New( wpChar, &wpCharType );
***************
*** 174,177 ****
--- 168,181 ----
}
+ PyObject* PyGetCharObject( P_CHAR pChar )
+ {
+ if ( !pChar )
+ {
+ Py_RETURN_NONE;
+ } else {
+ return pChar->getPyObject();
+ }
+ }
+
// Methods
|