Commit Graph

80 Commits

Author SHA1 Message Date
Joe Graf
041782c74a MERGE: Fixed the order that the return value is pushed into the list of parameters for a UFunction that maps to a Python function without a native super function backing it
- This fixes out params being at the wrong offsets causing the copy of the data to look at the wrong locations

#rb: merge

[CL 8385886 by Joe Graf in Dev-VR branch]
2019-08-30 14:39:50 -04:00
Joe Graf
d6b06b64f8 MERGE: Fixed Python defined ufunctions having the parameters reversed due to how properties are added to functions
#rb: merge

[CL 8232114 by Joe Graf in Dev-VR branch]
2019-08-23 14:01:22 -04:00
Joe Graf
75d6f5c607 MERGE: Removed the find field to determine if a function is already present in the python class' hierarchy
#rb: merge

[CL 8214007 by Joe Graf in Dev-VR branch]
2019-08-22 15:09:19 -04:00
Joe Graf
0d278d7710 MERGE
Added error handling for a missing self paramter in a python function that is exposed to the engine
Added missing class flags that allow a python object to expose a python function as a BP node without having to be present in the native base class
Update the Blueprint action database when a python class is loaded after the list has already been populated

#rb: merge

[CL 8214003 by Joe Graf in Dev-VR branch]
2019-08-22 15:08:24 -04:00
Joe Graf
88114ef439 MERGE: Fixed python UFunctions not showing up in the owning UClass' field list due to missing link list insertion
#rb: merge

[CL 8213980 by Joe Graf in Dev-VR branch]
2019-08-22 15:07:39 -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
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
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