Commit Graph

50 Commits

Author SHA1 Message Date
Maciej Mroz
9f4d26d152 UE-4871 Live: Crash when opening a blueprint who's component was edited in VS
Hot Reload reinstancer replaces old uclass.

#codereview Robert.Manuszewski, Nick.Whiting

[CL 2483400 by Maciej Mroz in Main branch]
2015-03-18 14:55:09 -04:00
Maciej Mroz
4ad81049dd UE-10163 If a custom code class is modified and a Hot Reload performed, any existing unsaved Blueprints derived from that class can no longer be saved.
References to hot-reloaded class are updated in blueprints (before recompiling and reinstancing).
I guess it could be optimized if necessary.

#codereview Robert.Manuszewski

[CL 2478024 by Maciej Mroz in Main branch]
2015-03-12 22:05:56 -04:00
Robert Manuszewski
1edd525fa1 Fixing hot-reload crashing when FStringAssetReference changes during hot-reload
[CL 2476721 by Robert Manuszewski in Main branch]
2015-03-12 09:27:03 -04:00
Robert Manuszewski
005749d028 Fixing ensures when performing hot-reload
#codereview maciej.mroz

[CL 2476709 by Robert Manuszewski in Main branch]
2015-03-12 09:15:15 -04:00
Dmitry Rekman
e7d1e64ee3 Changed calls to FProcHandle.Close() to FPlatformProcess::CloseProc().
We already had FPlatformProcess::CreateProc/CloseProc pair (which is part of larger set with WaitForProc(), TerminateProc(), GetProcReturnCode(), etc). FProcHandle::Close() made the API more confusing (and actually introduced bugs, because it did not call CloseProc() until recently).

#codereview Josh.Adams, Robert.Manuszewski, Jaroslaw.Surowiec

[CL 2476322 by Dmitry Rekman in Main branch]
2015-03-12 00:06:15 -04:00
Maciej Mroz
2e71ac300c UE-8677 Adding a protected component to a class and performing a hot reload can crash the Editor if a Blueprint already exists that is derived from that class
Overriden Archetype for old CDO while hot reloading.

#codereview Robert.Manuszewski

[CL 2472887 by Maciej Mroz in Main branch]
2015-03-09 15:41:53 -04:00
Robert Manuszewski
19ede68e7b Fixing hot-reload crash
#codereview Maciej.Mroz

[CL 2458548 by Robert Manuszewski in Main branch]
2015-02-24 11:28:59 -05:00
Maciej Mroz
934d3ed529 UE-9030 Compiling a BP super class (with a child instance in the level) crashes with REINST class mismatch
All children classes are recompiled before any object is reinstanced.

#codereview Nick.Whiting, Robert.Manuszewski

[CL 2451921 by Maciej Mroz in Main branch]
2015-02-19 13:32:52 -05:00
Matthew Griffin
a11dd1c9a9 [INTEGRATE] Change 2430066 by Jamie.Dale@Pitbull_JDaleReleases on 2015/02/03 11:54:22
Stopped the "Compiling C++ Code" message in the editor MainFrame always having a cancel button

	FModuleCompilerStartedEvent now passes a bool to say whether the hot-reload/compile operation is being run async, or whether it's blocking. We now only show the cancel button for async compiles, as the UI is otherwise blocked waiting for the compile to finish.

	Added a bWaitForCompletion input parameter to DoHotReloadFromEditor. This mirrors the RebindPackages API that DoHotReloadFromEditor internally calls, and prevents UPackFactory needing to perform a manual tick.

[CL 2437789 by Matthew Griffin in Main branch]
2015-02-09 06:44:30 -05:00
Robert Manuszewski
7112ac1376 Fixing hot-reload from IDE working only the first time. Added code to strip module suffix when checking module filenames.
[CL 2436695 by Robert Manuszewski in Main branch]
2015-02-07 04:01:23 -05:00
Matthew Griffin
bf17036c2f [INTEGRATE] Change 2429033 by Jamie.Dale@Pitbull_JDaleReleases on 2015/02/02 19:12:32
Made sure that FHotReloadModule still reported slow task progress while stuck in a busy loop

	ReviewedBy Anderew.Rodham

[CL 2435569 by Matthew Griffin in Main branch]
2015-02-06 11:58:00 -05:00
Robert Manuszewski
b441d7111c Fixing another hot-reload crash: this time when removing code responsible for creating default subobject from the constructor without removing its property from the parent class.
[CL 2434985 by Robert Manuszewski in Main branch]
2015-02-06 02:46:08 -05:00
Robert Manuszewski
aca3d3b8cb Fix for hot-reload not working with Blueprints.
[CL 2431759 by Robert Manuszewski in Main branch]
2015-02-04 10:54:51 -05:00
Robert Manuszewski
fe1ae539c4 Fixing crash when performing hot-reload
[CL 2431697 by Robert Manuszewski in Main branch]
2015-02-04 10:13:13 -05:00
Robert Manuszewski
e07cdd1695 Fix for hot-reload not always detecting DSO changes in the constructor
[CL 2431528 by Robert Manuszewski in Main branch]
2015-02-04 06:43:42 -05:00
Dmitry Rekman
29809b570a PR #783: Remove duplicate pipe() call on Linux
- Contributed by yaakuro.

https://github.com/EpicGames/UnrealEngine/pull/783

[CL 2428982 by Dmitry Rekman in Main branch]
2015-02-02 18:28:24 -05:00
Ben Marsh
346d29ab3e [INTEGRATE] Change 2421953 by Andrew.Rodham@AndrewRodham_4.7 on 2015/01/28 06:48:44
Fixed hot reload being able to add two scoped slow tasks to a single progress frame

[CL 2425816 by Ben Marsh in Main branch]
2015-01-30 10:48:51 -05:00
Ben Marsh
a05abb1027 [INTEGRATE] Change 2417928 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/24 15:53:14
Fixed failed C++ hot reload not displaying an error to the user (UE-8241)
	- Also added slightly better progress reporting to hot reload when adding code to a project

[CL 2419709 by Ben Marsh in Main branch]
2015-01-26 20:16:08 -05:00
Robert Manuszewski
37d4f02451 Fixing hot-reload not updating values on DSO's properties.
UE-8067

[CL 2416765 by Robert Manuszewski in Main branch]
2015-01-23 08:34:49 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -05:00
Mike Fricker
720e2859c1 Fixed hot reload not actually reloading game modules in some cases
- When hot reload was invoked from the IDE, the editor would not reload all of the game modules if there was more than one module had the game name as part of the module name
- For example after compiling "VehicleGame" and "VehicleGameLoadingScreen", only "VehicleGameLoadingScreen" would be reloaded in the editor
#codereview Robert.Manuszewski

[CL 2391306 by Mike Fricker in Main branch]
2014-12-17 11:52:39 -05:00
Robert Manuszewski
cb091bcd80 Hot-Reload improvements:
- CDO property values that have changed after hot-reload will now be propagated to the existing instances
- Adding code to a non-code project will no longer require restarting the editor to be able to work with new code (the new module will automatically be compiled and loaded)

[CL 2385307 by Robert Manuszewski in Main branch]
2014-12-11 06:03:58 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Ben Zeigler
02a9e1dd4e Merging Dev -> Main using UE4-Fortnite-To-UE4 from CL 2340802
Includes following engine changes:

Getting display metrics only once at construct time when using SSafeZone. GetDisplayMetrics is expensive in Windows so it is impractical to call it every frame.
- Some AI API improvements, mostly switchig pointer function parameters to references.
- minor refactor of UCrowdFollowingComponent's queryinf functions:
    - IsCrowd*Enabled functions refactored to  IsCrowd*Active
    - implemented IsCrowd*Enabled that return acrual values of relevant properties
- Added a function to CrowdManager to query for location of agents neighbouring given agent
Added support for PS4 touchpad-based cursor
You can now choose to skip synchronously scanning for asset data in object libraries and just use the data that is currently in the asset registry. The data will be refereshed automatically later once the global scan completes. The only applies to non-commandlet editor instances.
Crash fixes for trying to access NULL Metal surfaces on IOS
Slate: Cleaned up some atlas code related to padding and corrected some comments

[CL 2347323 by Ben Zeigler in Main branch]
2014-11-03 15:47:28 -05:00
Robert Manuszewski
cb66628d7c Hot-Reload: Fixed infinite recursion when serializing CDOs when performing hot-reload
[CL 2344850 by Robert Manuszewski in Main branch]
2014-10-30 09:53:23 -04:00