Skip to content

Commit 0fbead0

Browse files
author
Roberto De Ioris
committed
fixed package_get_filename()
1 parent 19afb57 commit 0fbead0

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33

44
PyObject *py_ue_package_is_dirty(ue_PyUObject *self, PyObject * args)
55
{
6-
76
ue_py_check(self);
8-
if (!self->ue_object->IsA<UPackage>())
9-
{
7+
8+
UPackage *package = ue_py_check_type<UPackage>(self);
9+
if (!package)
1010
return PyErr_Format(PyExc_Exception, "uobject is not an UPackage");
11-
}
12-
UPackage *package = (UPackage *)self->ue_object;
11+
1312
if (package->IsDirty())
1413
Py_RETURN_TRUE;
1514
Py_RETURN_FALSE;
@@ -19,13 +18,15 @@ PyObject *py_ue_package_get_filename(ue_PyUObject *self, PyObject * args)
1918
{
2019

2120
ue_py_check(self);
22-
if (!self->ue_object->IsA<UPackage>())
23-
{
21+
UPackage *package = ue_py_check_type<UPackage>(self);
22+
if (!package)
2423
return PyErr_Format(PyExc_Exception, "uobject is not an UPackage");
25-
}
2624

27-
UPackage *package = (UPackage *)self->ue_object;
28-
return PyUnicode_FromString(TCHAR_TO_UTF8(*package->FileName.ToString()));
25+
FString Filename;
26+
if (!FPackageName::DoesPackageExist(package->GetPathName(), nullptr, &Filename))
27+
return PyErr_Format(PyExc_Exception, "package does not exist");
28+
29+
return PyUnicode_FromString(TCHAR_TO_UTF8(*Filename));
2930
}
3031

3132
PyObject *py_ue_package_make_unique_object_name(ue_PyUObject *self, PyObject * args)

0 commit comments

Comments
 (0)