Skip to content

Commit b7c074f

Browse files
author
Roberto De Ioris
committed
automatically managed unsave packages
1 parent 704ec27 commit b7c074f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1019,7 +1019,7 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) {
10191019
if (!PyArg_ParseTuple(args, "|s:save_package", &name)) {
10201020
return NULL;
10211021
}
1022-
UObject *outer = self->ue_object->GetOuter();
1022+
UObject *outer = self->ue_object->GetOutermost();
10231023
UObject *u_object = self->ue_object;
10241024

10251025
if (outer && outer->IsA<UPackage>() && outer != GetTransientPackage()) {
@@ -1072,6 +1072,11 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) {
10721072
package->FullyLoad();
10731073
package->MarkPackageDirty();
10741074

1075+
if (package->FileName.IsNone()) {
1076+
package->FileName = *FPackageName::LongPackageNameToFilename(*package->GetPathName(), FPackageName::GetAssetPackageExtension());
1077+
UE_LOG(LogPython, Warning, TEXT("no file mapped to UPackage %s, setting its FileName to %s"), *package->GetPathName(), *package->FileName.ToString());
1078+
}
1079+
10751080
if (UPackage::SavePackage(package, u_object, RF_Public | RF_Standalone, *package->FileName.ToString())) {
10761081
FAssetRegistryModule::AssetCreated(u_object);
10771082
ue_PyUObject *ret = ue_get_python_wrapper(u_object);

0 commit comments

Comments
 (0)