Commit Graph

118 Commits

Author SHA1 Message Date
Jamie Dale
4c9963fda8 Register enum entries from Python in a deterministic order using their value
#fyi Adric.Worley
#rb none

[CL 9576555 by Jamie Dale in Dev-Editor branch]
2019-10-14 17:44:13 -04:00
Jamie Dale
ba3fd09c24 Remove invalid warning when reinstancing Python generated enum types
#fyi Adric.Worley
#rb none

[CL 9573164 by Jamie Dale in Dev-Editor branch]
2019-10-14 15:13:21 -04:00
ben marsh
e1deccdab4 Fix crash building a monolithic editor executable due to global constructors creating UObject instances before the UObject subsystem has been initialized.
#jira
[FYI] Jamie.Dale


#ROBOMERGE-SOURCE: CL 8988509 via CL 8988522
#ROBOMERGE-BOT: (v441-8974111)

[CL 8991871 by ben marsh in Main branch]
2019-09-23 16:43:24 -04:00
Marc Audy
8df336162c Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main) @ 8782600
#rb
#rnx

[CL 8783278 by Marc Audy in Main branch]
2019-09-17 19:12:19 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
JeanMichel Dignard
8fd3d991e1 Put back CanContainContent: true in PythonScriptPlugin as it's required to parse the python scripts in the content folder.
#jira UE-79509
#rb none
#rnx
#fyi Bob.Tellez

[CL 8384193 by JeanMichel Dignard in Main branch]
2019-08-30 11:48:45 -04:00
bob tellez
bd41767067 #UE4 Disable CanContainContent in a few plugins that have no assets or maps so they dont appear in the content browser.
#ROBOMERGE-SOURCE: CL 8352044 via CL 8359277
#ROBOMERGE-BOT: (v401-8057353)

[CL 8360258 by bob tellez in Main branch]
2019-08-27 22:01:54 -04:00
jamie dale
025f1e6e6c Fixed crash calling Python UObject function override with no args
#jira UE-75449
#rb Tim.Gautier
#rnx
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 8096673 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v401-8057353)

[CL 8096712 by jamie dale in Main branch]
2019-08-16 14:33:27 -04:00
jamie dale
d4ccda63a2 Fixed localization gather warnings
#jira
[FYI] Michelle.Zhao
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 8030368 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v398-8029740)

[CL 8030370 by jamie dale in Main branch]
2019-08-14 10:39:15 -04:00
johan duparc
541e8d4503 Fix typo (missing ellipsis) in PythonScriptPlugin menu entry (File > Execute Python Script)
#rb Jamie.Dale
#jira none

#ROBOMERGE-SOURCE: CL 7558761 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v372-7473910)

[CL 7558771 by johan duparc in Main branch]
2019-07-23 13:57:18 -04:00
brandon schaefer
30c2035930 Get a DLLHandle for Linux as well when loadind in the python module
#jira UE-76551
#rb Jamie.Dale

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 7094112 in //UE4/Release-4.23/... via CL 7094113
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7126079 by brandon schaefer in Dev-Anim branch]
2019-06-21 02:20:36 -04:00
jamie dale
9a659b614c CIS fix
#jira
#rb none
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064757 in //UE4/Release-4.23/... via CL 7064758
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7124343 by jamie dale in Dev-Anim branch]
2019-06-21 02:05:44 -04:00
jamie dale
4a8c78b719 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-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064660 in //UE4/Release-4.23/... via CL 7064661
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7124303 by jamie dale in Dev-Anim branch]
2019-06-21 02:05:32 -04:00
jamie dale
c9cd40e406 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-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064650 in //UE4/Release-4.23/... via CL 7064651
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7124296 by jamie dale in Dev-Anim branch]
2019-06-21 02:05:29 -04:00
brandon schaefer
8789a57923 Get a DLLHandle for Linux as well when loadind in the python module
#jira UE-76551
#rb Jamie.Dale

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

[CL 7094113 by brandon schaefer in Main branch]
2019-06-19 11:30:34 -04:00
jamie dale
d5647a15e8 CIS fix
#jira
#rb none
#rnx

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

[CL 7064758 by jamie dale in Main branch]
2019-06-18 13:03:52 -04:00
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
Lina Halper
888010b766 Copying //UE4/Dev-Enterprise [at] cl 6890376 to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden
#rb none

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jeanmichel.dignard
#ROBOMERGE-SOURCE: CL 6890764 in //UE4/Main/...
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v366-6836689)

[CL 6942267 by Lina Halper in Dev-Anim branch]
2019-06-11 16:56:39 -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
Lina Halper
b0bdc590d5 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim)
#lockdown: thomas.sarkanen
#fyi: Laurent.Delayen
#rb: none

[CL 6861656 by Lina Halper in Dev-Anim branch]
2019-06-06 12:33:54 -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
stefan boberg
7f1f94b842 Copying //UE4/Dev-Core to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: stefan.boberg
#ROBOMERGE-SOURCE: CL 6815521 in //UE4/Main/...
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6821478 by stefan boberg in Dev-Anim branch]
2019-06-03 19:17:40 -04:00
jamie dale
d0c31a283c Added missing include
#jira UE-74616
#rb none
#rnx

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 6576371 via CL 6580688 via CL 6580904
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v363-6677109)

[CL 6698846 by jamie dale in Dev-Anim branch]
2019-05-31 12:43:25 -04:00