Commit Graph

73 Commits

Author SHA1 Message Date
jamie dale
d47d2b523b Added additional tests for Python-generated overrides and non-POD data (re: CL# 7064650)
#jira UE-75405
#jira UE-75449
[FYI] Rex.Hill
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 7064660 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7064661 by jamie dale in Main branch]
2019-06-18 12:52:17 -04:00
jamie dale
f51b5804bf Calling a Python-generated function no longer crashes when called from Blueprints, or with non-POD output data
The old logic for dealing with the parameters within the Unreal function thunk (UPythonGeneratedClass::CallPythonFunction and UPythonCallableForDelegate::CallPythonNative) assumed that Stack.Locals would be set-up correctly for input, and could be written to for output. This isn't true, as Stack.Locals is populated by a memcpy in UObject::ProcessEvent (so isn't safe to write to for non-POD data), and Blueprints just pass along their existing frame data since they skip the call to ProcessScriptFunction (as Python generated functions are marked FUNC_Native).

This change adds a common thunk processing function (PyGenUtil::InvokePythonCallableFromUnrealFunctionThunk) which is used when calling into Python from an Unreal function thunk. This function steps the data off the stack frame for each property, copying input data to Python, and building the output chain (FOutParmRec) from output data addresses. This matches what the UHT generated thunk does for native functions (via P_GET_PROPERTY and P_GET_PROPERTY_REF), as well as what ProcessScriptFunction does for functions with Blueprint bytecode.

#jira UE-75405
#jira UE-75449
[FYI] Rex.Hill
#rb Dan.OConnor

#ROBOMERGE-SOURCE: CL 7064650 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7064651 by jamie dale in Main branch]
2019-06-18 12:51:14 -04:00
JeanMichel Dignard
0f9ad96858 Copying //UE4/Dev-Enterprise @ cl 6890376 to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden
#rb none

[CL 6890764 by JeanMichel Dignard in Main branch]
2019-06-07 11:22:52 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00
Marc Audy
cf48c338c5 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 6834564
#rb
#rnx
#lockdown Michael.Noland

[CL 6834940 by Marc Audy in Dev-Framework branch]
2019-06-04 09:58:36 -04:00
Marc Audy
6fb39af50b Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 6662737
#rb
#rnx

[CL 6664141 by Marc Audy in Dev-Framework branch]
2019-05-29 11:33:11 -04:00
Marc Audy
a3cfddf7f6 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 6547008
#rb
#rnx

[CL 6548655 by Marc Audy in Dev-Framework branch]
2019-05-17 17:18:20 -04:00
Marc Audy
a59ec411f9 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 6142244
#rb
#rnx

[CL 6173076 by Marc Audy in Dev-Framework branch]
2019-04-30 10:19:36 -04:00
Ben Zeigler
e873f817b2 Hook up referencer name for editor FGCObjects that are likely to hold world references
#rb marc.audy

[CL 5536472 by Ben Zeigler in Dev-Framework branch]
2019-03-25 14:40:23 -04:00
Marc Audy
502f469036 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5503639
#rb
#rnx

[CL 5504188 by Marc Audy in Dev-Framework branch]
2019-03-22 14:59:27 -04:00
Marc Audy
82e0666ce7 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5450266
#rb
#rnx

[CL 5459329 by Marc Audy in Dev-Framework branch]
2019-03-19 16:16:11 -04:00
Marc Audy
6c6b055f0e Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5271686
#rb
#rnx

[CL 5282523 by Marc Audy in Dev-Framework branch]
2019-03-04 10:23:33 -05:00
Chris Gagnon
80918bea22 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 5110714 by Chris Gagnon in Dev-Editor branch]
2019-02-21 13:05:30 -05:00
Marc Audy
bcc53f72d7 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4898645
#rb
#rnx

[CL 4917956 by Marc Audy in Dev-Framework branch]
2019-02-05 23:17:27 -05:00
Jamie Dale
0d9d57c7ca Allow editing properties marked with CPF_DisableEditOnInstance on asset instances
#fyi James.McNatton
#rb none

[CL 4845219 by Jamie Dale in Dev-Editor branch]
2019-01-30 13:40:27 -05:00
Chris Gagnon
a48e767b94 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4835066 by Chris Gagnon in Dev-Editor branch]
2019-01-29 16:15:19 -05:00
Jamie Dale
c057e5d6e6 Fixed Python recent files going to wrong config path
#fyi Arciel.Rekman
#rb none
#lockdown Chris.Gagnon

[CL 4831212 by Jamie Dale in Dev-Editor branch]
2019-01-29 10:34:41 -05:00
Jamie Dale
afd5d43a03 Fixed Python stub file excluding all generated glue code when skipping doc generation
#fyi Conan.Reis
#rb none

[CL 4757354 by Jamie Dale in Dev-Editor branch]
2019-01-18 18:36:02 -05:00
Robert Manuszewski
cfa01c09c7 Merging //UE4/Dev-Main to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4731457 by Robert Manuszewski in Dev-Core branch]
2019-01-16 04:23:12 -05:00
Chris Gagnon
1dd3e0189f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4730305 by Chris Gagnon in Dev-Editor branch]
2019-01-15 18:47:22 -05:00
Chris Gagnon
bd368fae31 Engine and Editor subsystems
- Dynamic subsystems for fixed module startup wrt subsystem initialization
- Python Gettter exposed for both eg: import_subsystem = unreal.get_editor_subsystem(unreal.ImportSubsystem)
- Import Subsystem with python exposed import events

#rb Matt.Kuhlenschmidt, Rex.Hill
#codereview Matt.Kuhlenschmidt, Rex.Hill

[CL 4725117 by Chris Gagnon in Dev-Editor branch]
2019-01-15 13:41:40 -05:00
Chris Gagnon
1a3bf5caf1 Merging The Engine directory from //UE4/Dev-Main to //UE4/Dev-Editor upto CL 4698813
#rb none

[CL 4720826 by Chris Gagnon in Dev-Editor branch]
2019-01-14 16:55:55 -05:00
Francis Hurteau
57c677da93 Copying //UE4/Dev-Enterprise@4705006 to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4705151 by Francis Hurteau in Main branch]
2019-01-10 17:26:53 -05:00
Marc Audy
ab108c215e Copying to Dev-Main @ CL# 4688301
#rb
#rnx

[CL 4688816 by Marc Audy in Main branch]
2019-01-08 11:38:48 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00