Changeset 102396 in vbox for trunk/src/libs/xpcom18a4
- Timestamp:
- Nov 30, 2023 1:37:20 PM (16 months ago)
- svn:sync-xref-src-repo-rev:
- 160537
- Location:
- trunk/src/libs/xpcom18a4/python/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/xpcom18a4/python/src/PyIID.cpp
r102389 r102396 237 237 { Py_tp_str, (void *)(uintptr_t)&Py_nsIID::PyTypeMethod_str }, 238 238 { Py_tp_richcompare, (void *)(uintptr_t)&Py_nsIID::PyTypeMethod_richcompare }, 239 { Py_tp_is_gc, (void *)(uintptr_t)&Py_nsIID::PyTypeMethod_is_gc }, 239 240 { 0, NULL } /* terminator */ 240 241 }; … … 320 321 Py_nsIID::PyTypeMethod_richcompare(PyObject *self, PyObject *other, int op) 321 322 { 323 nsIID iid; 324 if (!Py_nsIID::IIDFromPyObject(other, &iid)) 325 { 326 /* Can't do comparison betsides equality/inequalityif the other object does not contain an IID. */ 327 if (op == Py_EQ) 328 Py_RETURN_FALSE; 329 else if (op == Py_NE) 330 Py_RETURN_TRUE; 331 332 PyErr_SetString(PyExc_TypeError, "Comparison between different object types is not defined"); 333 return NULL; 334 } 335 322 336 PyObject *result = NULL; 323 337 Py_nsIID *s_iid = (Py_nsIID *)self; 324 Py_nsIID *o_iid = (Py_nsIID *)other; 325 int rc = memcmp(&s_iid->m_iid, &o_iid->m_iid, sizeof(s_iid->m_iid)); 338 int rc = memcmp(&s_iid->m_iid, &iid, sizeof(s_iid->m_iid)); 326 339 switch (op) 327 340 { … … 409 422 delete (Py_nsIID *)ob; 410 423 } 424 425 #ifdef Py_LIMITED_API 426 /* static */ int 427 Py_nsIID::PyTypeMethod_is_gc(PyObject *self) 428 { 429 return 1; 430 } 431 #endif -
trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h
r102389 r102396 586 586 static NS_EXPORT_STATIC_MEMBER_(PyTypeObject *) s_pType; 587 587 static PyTypeObject *GetTypeObject(void); 588 static int PyTypeMethod_is_gc(PyObject *self); 588 589 #endif 589 590 static NS_EXPORT_STATIC_MEMBER_(PyMethodDef) methods[];
Note:
See TracChangeset
for help on using the changeset viewer.