Skip to content

Commit 09ca1d5

Browse files
author
Roberto De Ioris
committed
added support for python 3.7
1 parent 8e98a18 commit 09ca1d5

19 files changed

+72
-53
lines changed

Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *v
126126
{
127127
if (value && PyUnicode_Check(value))
128128
{
129-
char *str = PyUnicode_AsUTF8(value);
129+
const char *str = UEPyUnicode_AsUTF8(value);
130130
self->pin->DefaultValue = UTF8_TO_TCHAR(str);
131131
return 0;
132132
}
@@ -143,7 +143,7 @@ static int py_ue_edgraphpin_set_default_text_value(ue_PyEdGraphPin *self, PyObje
143143
{
144144
if (value && PyUnicode_Check(value))
145145
{
146-
char *str = PyUnicode_AsUTF8(value);
146+
const char *str = UEPyUnicode_AsUTF8(value);
147147
self->pin->DefaultTextValue = FText::FromString(UTF8_TO_TCHAR(str));
148148
return 0;
149149
}

Source/UnrealEnginePython/Private/PyActor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ FString APyActor::CallPythonActorMethodString(FString method_name, FString args)
273273
return FString();
274274
}
275275

276-
char *str_ret = PyUnicode_AsUTF8(py_str);
276+
const char *str_ret = UEPyUnicode_AsUTF8(py_str);
277277

278278
FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret));
279279

Source/UnrealEnginePython/Private/PyCharacter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ FString APyCharacter::CallPyCharacterMethodString(FString method_name, FString a
421421
return FString();
422422
}
423423

424-
char *str_ret = PyUnicode_AsUTF8(py_str);
424+
const char *str_ret = UEPyUnicode_AsUTF8(py_str);
425425

426426
FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret));
427427

Source/UnrealEnginePython/Private/PyHUD.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ FString APyHUD::CallPythonHUDMethodString(FString method_name, FString args)
228228
return FString();
229229
}
230230

231-
char *str_ret = PyUnicode_AsUTF8(py_str);
231+
const char *str_ret = UEPyUnicode_AsUTF8(py_str);
232232

233233
FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret));
234234

Source/UnrealEnginePython/Private/PyPawn.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ FString APyPawn::CallPythonPawnMethodString(FString method_name)
225225
return FString();
226226
}
227227

228-
char *str_ret = PyUnicode_AsUTF8(py_str);
228+
const char *str_ret = UEPyUnicode_AsUTF8(py_str);
229229

230230
FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret));
231231

Source/UnrealEnginePython/Private/PythonComponent.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ FString UPythonComponent::CallPythonComponentMethodString(FString method_name, F
474474
return FString();
475475
}
476476

477-
char *str_ret = PyUnicode_AsUTF8(py_str);
477+
const char *str_ret = UEPyUnicode_AsUTF8(py_str);
478478

479479
FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret));
480480

@@ -567,8 +567,8 @@ TMap<FString, FString> UPythonComponent::CallPythonComponentMethodMap(FString me
567567
return output_map;
568568
}
569569

570-
char *str_key = PyUnicode_AsUTF8(py_str_key);
571-
char *str_value = PyUnicode_AsUTF8(py_str_value);
570+
const char *str_key = UEPyUnicode_AsUTF8(py_str_key);
571+
const char *str_value = UEPyUnicode_AsUTF8(py_str_value);
572572

573573
FString ret_fstring_key = FString(UTF8_TO_TCHAR(str_key));
574574
FString ret_fstring_value = FString(UTF8_TO_TCHAR(str_value));
@@ -627,7 +627,7 @@ void UPythonComponent::CallPythonComponentMethodStringArray(FString method_name,
627627
return;
628628
}
629629

630-
char *str_ret = PyUnicode_AsUTF8(py_str);
630+
const char *str_ret = UEPyUnicode_AsUTF8(py_str);
631631

632632
FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret));
633633

Source/UnrealEnginePython/Private/UEPyEditor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args)
342342
}
343343
else if (PyUnicodeOrString_Check(obj))
344344
{
345-
char *class_name = PyUnicode_AsUTF8(obj);
345+
const char *class_name = UEPyUnicode_AsUTF8(obj);
346346
UClass *u_class = FindObject<UClass>(ANY_PACKAGE, UTF8_TO_TCHAR(class_name));
347347
if (u_class)
348348
{
@@ -1425,7 +1425,7 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje
14251425

14261426
if (PyUnicode_Check(py_type))
14271427
{
1428-
char *in_type = PyUnicode_AsUTF8(py_type);
1428+
const char *in_type = UEPyUnicode_AsUTF8(py_type);
14291429

14301430
bool is_array = false;
14311431
if (py_is_array && PyObject_IsTrue(py_is_array))

Source/UnrealEnginePython/Private/UEPyEngine.cpp

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,11 @@ PyObject *py_unreal_engine_log(PyObject * self, PyObject * args)
3333
PyObject *stringified = PyObject_Str(py_message);
3434
if (!stringified)
3535
return PyErr_Format(PyExc_Exception, "argument cannot be casted to string");
36-
char *message = PyUnicode_AsUTF8(stringified);
36+
const char *message = UEPyUnicode_AsUTF8(stringified);
3737
UE_LOG(LogPython, Log, TEXT("%s"), UTF8_TO_TCHAR(message));
3838
Py_DECREF(stringified);
3939

40-
Py_INCREF(Py_None);
41-
return Py_None;
40+
Py_RETURN_NONE;
4241
}
4342

4443
PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args)
@@ -52,12 +51,11 @@ PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args)
5251
PyObject *stringified = PyObject_Str(py_message);
5352
if (!stringified)
5453
return PyErr_Format(PyExc_Exception, "argument cannot be casted to string");
55-
char *message = PyUnicode_AsUTF8(stringified);
54+
const char *message = UEPyUnicode_AsUTF8(stringified);
5655
UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(message));
5756
Py_DECREF(stringified);
5857

59-
Py_INCREF(Py_None);
60-
return Py_None;
58+
Py_RETURN_NONE;
6159
}
6260

6361
PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args)
@@ -71,12 +69,11 @@ PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args)
7169
PyObject *stringified = PyObject_Str(py_message);
7270
if (!stringified)
7371
return PyErr_Format(PyExc_Exception, "argument cannot be casted to string");
74-
char *message = PyUnicode_AsUTF8(stringified);
72+
const char *message = UEPyUnicode_AsUTF8(stringified);
7573
UE_LOG(LogPython, Error, TEXT("%s"), UTF8_TO_TCHAR(message));
7674
Py_DECREF(stringified);
7775

78-
Py_INCREF(Py_None);
79-
return Py_None;
76+
Py_RETURN_NONE;
8077
}
8178

8279
PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject * args)
@@ -98,14 +95,13 @@ PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject
9895
PyObject *stringified = PyObject_Str(py_message);
9996
if (!stringified)
10097
return PyErr_Format(PyExc_Exception, "argument cannot be casted to string");
101-
char *message = PyUnicode_AsUTF8(stringified);
98+
const char *message = UEPyUnicode_AsUTF8(stringified);
10299

103100
GEngine->AddOnScreenDebugMessage(key, time_to_display, FColor::Green, FString::Printf(TEXT("%s"), UTF8_TO_TCHAR(message)));
104101

105102
Py_DECREF(stringified);
106103

107-
Py_INCREF(Py_None);
108-
return Py_None;
104+
Py_RETURN_NONE;
109105
}
110106

111107
PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args)
@@ -137,7 +133,7 @@ PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args)
137133
PyObject *stringified = PyObject_Str(py_message);
138134
if (!stringified)
139135
return PyErr_Format(PyExc_Exception, "argument cannot be casted to string");
140-
char *message = PyUnicode_AsUTF8(stringified);
136+
const char *message = UEPyUnicode_AsUTF8(stringified);
141137

142138
GEngine->AddOnScreenDebugMessage(-1, timeout, color, FString(UTF8_TO_TCHAR(message)));
143139

Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject
77
{
88
if (PyUnicodeOrString_Check(attr_name))
99
{
10-
char *attr = PyUnicode_AsUTF8(attr_name);
10+
const char *attr = UEPyUnicode_AsUTF8(attr_name);
1111
if (attr[0] != '_')
1212
{
1313
UEnum *u_enum = FindObject<UEnum>(ANY_PACKAGE, UTF8_TO_TCHAR(attr));

Source/UnrealEnginePython/Private/UEPyModule.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,7 +1081,7 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name)
10811081
{
10821082
if (PyUnicodeOrString_Check(attr_name))
10831083
{
1084-
char *attr = PyUnicode_AsUTF8(attr_name);
1084+
const char *attr = UEPyUnicode_AsUTF8(attr_name);
10851085
// first check for property
10861086
UStruct *u_struct = nullptr;
10871087
if (self->ue_object->IsA<UStruct>())
@@ -1180,7 +1180,7 @@ static int ue_PyUObject_setattro(ue_PyUObject *self, PyObject *attr_name, PyObje
11801180
// first of all check for UProperty
11811181
if (PyUnicodeOrString_Check(attr_name))
11821182
{
1183-
char *attr = PyUnicode_AsUTF8(attr_name);
1183+
char *attr = (char *)PyUnicode_AsUTF8(attr_name);
11841184
// first check for property
11851185
UStruct *u_struct = nullptr;
11861186
if (self->ue_object->IsA<UStruct>())
@@ -1287,7 +1287,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject
12871287
}
12881288
if (!PyUnicodeOrString_Check(key))
12891289
continue;
1290-
char *struct_key = PyUnicode_AsUTF8(key);
1290+
const char *struct_key = UEPyUnicode_AsUTF8(key);
12911291

12921292
PyObject *value = PyDict_GetItem(kw, key);
12931293
if (!value)
@@ -1300,7 +1300,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject
13001300
break;
13011301
}
13021302

1303-
UProperty *u_property = ue_struct_get_field_from_name(u_script_struct, struct_key);
1303+
UProperty *u_property = ue_struct_get_field_from_name(u_script_struct, (char *)struct_key);
13041304
if (u_property)
13051305
{
13061306
if (!ue_py_convert_pyobject(value, u_property, data, 0))
@@ -2960,7 +2960,7 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_
29602960
if (!PyUnicodeOrString_Check(key))
29612961
continue;
29622962

2963-
char *p_name = PyUnicode_AsUTF8(key);
2963+
const char *p_name = UEPyUnicode_AsUTF8(key);
29642964

29652965
PyObject *value = PyDict_GetItem(annotations, key);
29662966
if (!value)

0 commit comments

Comments
 (0)