Skip to content

Commit 65ef625

Browse files
committed
chore(PythonQt): replace PyString_FromString with PyUnicode_FromString
Make Unicode creation explicit instead of relying on the compatibility macros in `PythonQtPythonInclude.h`. No functional change intended.
1 parent f2cdc33 commit 65ef625

File tree

8 files changed

+23
-23
lines changed

8 files changed

+23
-23
lines changed

src/PythonQt.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,7 @@ PyObject* PythonQtPrivate::dummyTuple() {
766766
static PyObject* dummyTuple = nullptr;
767767
if (dummyTuple==nullptr) {
768768
dummyTuple = PyTuple_New(1);
769-
PyTuple_SET_ITEM(dummyTuple, 0 , PyString_FromString("dummy"));
769+
PyTuple_SET_ITEM(dummyTuple, 0 , PyUnicode_FromString("dummy"));
770770
}
771771
return dummyTuple;
772772
}
@@ -805,7 +805,7 @@ PythonQtInstanceWrapper* PythonQtPrivate::createNewPythonQtInstanceWrapper(QObje
805805
PythonQtClassWrapper* PythonQtPrivate::createNewPythonQtClassWrapper(PythonQtClassInfo* info, PyObject* parentModule, const QByteArray& pythonClassName) {
806806
PythonQtClassWrapper* result;
807807

808-
PyObject* className = PyString_FromString(pythonClassName.constData());
808+
PyObject* className = PyUnicode_FromString(pythonClassName.constData());
809809

810810
PyObject* baseClasses = PyTuple_New(1);
811811
Py_INCREF((PyObject*)&PythonQtInstanceWrapper_Type);
@@ -842,7 +842,7 @@ PyObject* PythonQtPrivate::createEnumValueInstance(PyObject* enumType, unsigned
842842
PyObject* PythonQtPrivate::createNewPythonQtEnumWrapper(const char* enumName, PyObject* parentObject) {
843843
PyObject* result;
844844

845-
PyObject* className = PyString_FromString(enumName);
845+
PyObject* className = PyUnicode_FromString(enumName);
846846

847847
PyObject* baseClasses = PyTuple_New(1);
848848
Py_INCREF(&PyLong_Type);
@@ -1872,7 +1872,7 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
18721872
Py_INCREF(val);
18731873
PyTuple_SetItem(module_names, i, val);
18741874
}
1875-
PyTuple_SetItem(module_names, old_size, PyString_FromString(name.constData()));
1875+
PyTuple_SetItem(module_names, old_size, PyUnicode_FromString(name.constData()));
18761876
PyModule_AddObject(sys.object(), "builtin_module_names", module_names);
18771877
}
18781878
Py_XDECREF(old_module_names);
@@ -2175,7 +2175,7 @@ PyObject* PythonQt::helpCalled(PythonQtClassInfo* info)
21752175
Q_EMIT pythonHelpRequest(QByteArray(info->className()));
21762176
return Py_BuildValue("");
21772177
} else {
2178-
return PyString_FromString(QStringToPythonCharPointer(info->help()));
2178+
return PyUnicode_FromString(QStringToPythonCharPointer(info->help()));
21792179
}
21802180
}
21812181

@@ -2299,7 +2299,7 @@ const QMetaObject* PythonQtPrivate::buildDynamicMetaObject(PythonQtClassWrapper*
22992299
Py_ssize_t pos = 0;
23002300
PyObject* value = nullptr;
23012301
PyObject* key = nullptr;
2302-
static PyObject* qtSlots = PyString_FromString("_qtSlots");
2302+
static PyObject* qtSlots = PyUnicode_FromString("_qtSlots");
23032303

23042304
bool needsMetaObject = false;
23052305
// Iterate over all members and check if they affect the QMetaObject:
@@ -2400,7 +2400,7 @@ int PythonQtPrivate::handleMetaCall(QObject* object, PythonQtInstanceWrapper* wr
24002400
}
24012401
PythonQtProperty* prop = nullptr;
24022402
// Get directly from the Python class, since we don't want to get the value of the property
2403-
PyObject* maybeProp = PyBaseObject_Type.tp_getattro((PyObject*)wrapper, PyString_FromString(metaProp.name()));
2403+
PyObject* maybeProp = PyBaseObject_Type.tp_getattro((PyObject*)wrapper, PyUnicode_FromString(metaProp.name()));
24042404
if (maybeProp && PythonQtProperty_Check(maybeProp)) {
24052405
prop = (PythonQtProperty*)maybeProp;
24062406
} else {

src/PythonQtBoolResult.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static int PythonQtBoolResult_init(PythonQtBoolResultObject *self, PyObject* arg
5555
static PyObject *PythonQtBoolResult_repr(PythonQtBoolResultObject *obj)
5656
{
5757
PythonQtBoolResultObject* wrapper = (PythonQtBoolResultObject*)obj;
58-
return PyString_FromString(wrapper->_value?"BoolResult(True)":"BoolResult(False)");
58+
return PyUnicode_FromString(wrapper->_value?"BoolResult(True)":"BoolResult(False)");
5959
}
6060

6161
static int PythonQtBoolResult_bool(PyObject *obj)

src/PythonQtClassWrapper.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ static int PythonQtClassWrapper_init(PythonQtClassWrapper* self, PyObject* args,
384384

385385
static PyObject *PythonQtClassWrapper_classname(PythonQtClassWrapper* type)
386386
{
387-
return PyString_FromString((QByteArray("Class_") + type->classInfo()->className()).constData());
387+
return PyUnicode_FromString((QByteArray("Class_") + type->classInfo()->className()).constData());
388388
}
389389

390390
static PyObject *PythonQtClassWrapper_help(PythonQtClassWrapper* type)
@@ -490,7 +490,7 @@ static PyObject *PythonQtClassWrapper_getattro(PyObject *obj, PyObject *name)
490490
}
491491

492492
if (wrapper->classInfo()->constructors()) {
493-
PyObject* initName = PyString_FromString("__init__");
493+
PyObject* initName = PyUnicode_FromString("__init__");
494494
PyObject* func = PyType_Type.tp_getattro(obj, initName);
495495
Py_DECREF(initName);
496496
PyDict_SetItemString(dict, "__init__", func);

src/PythonQtConversion.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ PyObject* PythonQtConv::ConvertQtValueToPython(const PythonQtMethodInfo::Paramet
9393
// a char ptr will probably be a null terminated string, so we support that:
9494
char* charPtr = *((char**)data);
9595
if (charPtr) {
96-
return PyString_FromString(charPtr);
96+
return PyUnicode_FromString(charPtr);
9797
} else {
9898
Py_RETURN_NONE;
9999
}
@@ -1297,7 +1297,7 @@ QVariant PythonQtConv::PyObjToQVariant(PyObject* val, int type)
12971297
PyObject* PythonQtConv::QStringToPyObject(const QString& str)
12981298
{
12991299
if (str.isNull()) {
1300-
return PyString_FromString("");
1300+
return PyUnicode_FromString("");
13011301
} else {
13021302
return PyUnicode_DecodeUTF16((const char*)str.utf16(), str.length()*2, nullptr, nullptr);
13031303
}

src/PythonQtInstanceWrapper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ static PyObject *PythonQtInstanceWrapper_richcompare(PythonQtInstanceWrapper* wr
333333

334334
static PyObject *PythonQtInstanceWrapper_classname(PythonQtInstanceWrapper* obj)
335335
{
336-
return PyString_FromString(Py_TYPE(obj)->tp_name);
336+
return PyUnicode_FromString(Py_TYPE(obj)->tp_name);
337337
}
338338

339339
PyObject *PythonQtInstanceWrapper_inherits(PythonQtInstanceWrapper* obj, PyObject *args)

src/PythonQtSignal.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ static PyObject *
123123
meth_get__name__(PythonQtSignalFunctionObject *m, void * /*closure*/)
124124
{
125125
if (m->m_ml) {
126-
return PyString_FromString(m->m_ml->signature());
126+
return PyUnicode_FromString(m->m_ml->signature());
127127
} else {
128-
return PyString_FromString("Signal");
128+
return PyUnicode_FromString("Signal");
129129
}
130130
}
131131

@@ -318,7 +318,7 @@ meth_repr(PythonQtSignalFunctionObject *f)
318318
{
319319
if (!f->m_ml) {
320320
// TODO
321-
return PyString_FromString("Signal");
321+
return PyUnicode_FromString("Signal");
322322
}
323323
if (f->m_self->ob_type == &PythonQtClassWrapper_Type) {
324324
PythonQtClassWrapper* self = (PythonQtClassWrapper*) f->m_self;

src/PythonQtSlot.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -579,13 +579,13 @@ meth_get__doc__(PythonQtSlotFunctionObject * m, void * /*closure*/)
579579
if (!pyReturnType.isEmpty()) {
580580
doc += " -> " + pyReturnType;
581581
}
582-
return PyString_FromString(doc.constData());
582+
return PyUnicode_FromString(doc.constData());
583583
}
584584

585585
static PyObject *
586586
meth_get__name__(PythonQtSlotFunctionObject *m, void * /*closure*/)
587587
{
588-
return PyString_FromString(m->m_ml->slotName(true));
588+
return PyUnicode_FromString(m->m_ml->slotName(true));
589589
}
590590

591591
static int
@@ -663,7 +663,7 @@ PyObject *PythonQtMemberFunction_parameterTypes(PythonQtSlotInfo* theInfo)
663663
QList<QByteArray> types = info->metaMethod()->parameterTypes();
664664
PyObject* tuple = PyTuple_New(types.count());
665665
for (int i = 0; i<types.count();i++) {
666-
PyTuple_SET_ITEM(tuple, i, PyString_FromString(types.at(i).constData()));
666+
PyTuple_SET_ITEM(tuple, i, PyUnicode_FromString(types.at(i).constData()));
667667
}
668668
info = info->nextInfo();
669669
PyTuple_SET_ITEM(result, j, tuple);
@@ -685,7 +685,7 @@ PyObject *PythonQtMemberFunction_parameterNames(PythonQtSlotInfo* theInfo)
685685
QList<QByteArray> names = info->metaMethod()->parameterNames();
686686
PyObject* tuple = PyTuple_New(names.count());
687687
for (int i = 0; i<names.count();i++) {
688-
PyTuple_SET_ITEM(tuple, i, PyString_FromString(names.at(i).constData()));
688+
PyTuple_SET_ITEM(tuple, i, PyUnicode_FromString(names.at(i).constData()));
689689
}
690690
info = info->nextInfo();
691691
PyTuple_SET_ITEM(result, j, tuple);
@@ -705,7 +705,7 @@ PyObject *PythonQtMemberFunction_typeName(PythonQtSlotInfo* theInfo)
705705
PyObject* result = PyTuple_New(count);
706706
for (int j = 0;j<count;j++) {
707707
QByteArray name = PythonQtUtils::typeName(*info->metaMethod());
708-
PyTuple_SET_ITEM(result, j, PyString_FromString(name.constData()));
708+
PyTuple_SET_ITEM(result, j, PyUnicode_FromString(name.constData()));
709709
info = info->nextInfo();
710710
}
711711
return result;

src/PythonQtSlotDecorator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ PyObject* PythonQtSlotDecorator_call(PyObject* object, PyObject* args, PyObject*
9696
QByteArray returnType = QMetaObject::normalizedType(self->returnType->constData());
9797
QByteArray signature = returnType + " " + slotName + "(" + *self->args + ")";
9898

99-
static PyObject* qtSlots = PyString_FromString("_qtSlots");
99+
static PyObject* qtSlots = PyUnicode_FromString("_qtSlots");
100100
PyObject* signatures = nullptr;
101101
if (!PyObject_HasAttr(function, qtSlots)) {
102102
// create a new list
@@ -109,7 +109,7 @@ PyObject* PythonQtSlotDecorator_call(PyObject* object, PyObject* args, PyObject*
109109
}
110110

111111
// append the signature to the list
112-
PyObject* pySignature = PyString_FromString(signature);
112+
PyObject* pySignature = PyUnicode_FromString(signature);
113113
PyList_Append(signatures, pySignature);
114114
Py_DECREF(pySignature);
115115

0 commit comments

Comments
 (0)