Commit Graph

470 Commits

Author SHA1 Message Date
Jaroslaw Palczynski
bbdab74fb9 UE-13183: DDC build fails due to PKG_InMemoryOnly
#codereview Robert.Manuszewski, Ben.Marsh

[CL 2499686 by Jaroslaw Palczynski in Main branch]
2015-04-02 06:32:02 -04:00
Max Preussner
ed7b70caed Messaging: Removed the WithMessaging type trait and message type pre-cache
#UpgradeNotes:
The TStructOpsTypeTraits<>::WithMessaging type trait is no longer necessary for UStructs intended to be used as messages, because UObject creation and destruction is now thread-safe, and message types no longer need to be pre-cached. You can now use any existing and custom UStruct class in the Engine as messages. I ran the Editor for a couple hours with the profiler enabled and did not have any stability issues. If you experience any Messaging related crashes, please let me know asap, thanks!

#CodeReview: robert.manuszewski, peter.sauerbrei, chris.gagnon, jason.bestimt, michael.trepka, nicholas.davies

[CL 2499164 by Max Preussner in Main branch]
2015-04-01 17:35:20 -04:00
Mike Beach
f5bf61c620 [UE-12888] Preventing missing interfaces from triggering a check() crash in deferred dependency loading.
[CL 2499055 by Mike Beach in Main branch]
2015-04-01 16:28:34 -04:00
Mike Beach
aefdbd6586 Fixing fallout from CL 2498249 (linkers are no longer UObjects); renaming a missed ULinkerLoad var to FLinkerLoad.
[CL 2498701 by Mike Beach in Main branch]
2015-04-01 11:44:02 -04:00
Robert Manuszewski
4643237085 Making sure objects that have already been fully loaded don't get loaded again.
[CL 2498695 by Robert Manuszewski in Main branch]
2015-04-01 11:31:19 -04:00
Jamie Dale
5ad4d3a2d1 Fixed UAssetObjectProperty not being able to import asset references in the form "Texture2D'/Game/Thing'"
UE-13110 - Regression: DataTables: Importing columns of Asset references doesn't work with native FTableRowBase

It was passing the nested object path into UPropertyHelpers::ReadToken without skipping over the opening ' (like UObjectPropertyBase does), which meant that you ended up with an imported object path of something like "Texture2D'" rather than "Texture2D'/Game/Thing'".

This broke data table importing when using a TAssetPtr property. This wasn't an issue when using User Defined Structs as they use a UObjectPropertyBase when referring to other objects.

ReviewedBy Andrew.Rodham

[CL 2498502 by Jamie Dale in Main branch]
2015-04-01 08:53:55 -04:00
Robert Manuszewski
9d9048e93d Removed unnecessary #pragma once
[CL 2498343 by Robert Manuszewski in Main branch]
2015-04-01 05:39:31 -04:00
Robert Manuszewski
ec65045bbd Fixing CIS on the Mac
[CL 2498277 by Robert Manuszewski in Main branch]
2015-04-01 03:46:14 -04:00
Robert Manuszewski
8fe5db30e3 Merging UE4-Streaming to UE4
- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.

Change 2410813 by Mikolaj Sieluzycki:
	Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
	Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
	Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
	Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
	Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
	Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
	AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
	Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
	Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
	Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
	Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
	Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
	Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
	Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
	Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
	Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
	Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
	Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
	Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
	Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
	Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
	Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
	Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
	Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
	Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
	Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable

[CL 2498249 by Robert Manuszewski in Main branch]
2015-04-01 03:03:18 -04:00
Maciej Mroz
995cf62f57 UE-12889 Crashes when tries to send PointerEvent thru Event dispatcher in widget
[CL 2498112 by Maciej Mroz in Main branch]
2015-03-31 22:11:44 -04:00
PaulEremeeff
3d878d5a79 PR #996: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
 * Made nullptr checks consistent (the plurality of the changes are of this type)
 * Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
 * Removed unused variables
 * Removed redundant initializations
 * WidgetNavigationCustomization.cpp was fixed by the owner
 * integers converted to floats where result was stored in a float
 * Removed redundent null checks (e.g. before delete statements)
 * Renamed variables to prevent non-obvious shadowing
 * Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
 * Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)

[CL 2498053 by Dan Oconnor in Main branch]
2015-03-31 20:12:31 -04:00
Mike Beach
c5e41a0e6b [UE-12953] Fixing it so superclass CDO defaults don't stomp fixed-up self (CDO) references.
#codreview Dan.Oconnor

[CL 2497416 by Mike Beach in Main branch]
2015-03-31 13:25:27 -04:00
Maciej Mroz
34fcc85a6d Better fix for: UE-11733 Using a function to set button style causes a crash
[CL 2496754 by Maciej Mroz in Main branch]
2015-03-31 00:05:46 -04:00
Dan Oconnor
6e77e129d9 [UE-12550] - Fixed metadata load order, finishing struct loading before loading dependent bluerpints... This fixes the GUIDs (random numbers and letters) being displayed on set/break struct nodes
[CL 2496674 by Dan Oconnor in Main branch]
2015-03-30 21:25:17 -04:00
Maciej Mroz
eb2fb74071 Back out changelist 2494280
That change introduced a many issues.

[CL 2496652 by Maciej Mroz in Main branch]
2015-03-30 21:00:55 -04:00
Dan Oconnor
171031d1c2 Fix for reaching backend of some test content with USE_DEFERRED_DEPENDENCY_CHECK_VERIFICATION_TESTS enabled
[CL 2496313 by Dan Oconnor in Main branch]
2015-03-30 17:59:01 -04:00
Jaroslaw Surowiec
827a19eaa5 Core - Removed stats from UObjectBaseUtility::IsA
[CL 2495488 by Jaroslaw Surowiec in Main branch]
2015-03-30 06:37:43 -04:00
Jaroslaw Surowiec
826a7269c6 Core - Removed stats from UObjectBaseUtility::IsA
[CL 2495482 by Jaroslaw Surowiec in Main branch]
2015-03-30 06:31:17 -04:00
Jaroslaw Surowiec
faf52e099f Stats - Fixed stats metadata issue
[CL 2495047 by Jaroslaw Surowiec in Main branch]
2015-03-28 14:47:41 -04:00
Michael Noland
06013fa933 Optimizing various uses of Pop to prevent incremental reallocation for short-lived or frequently used TArray instances
[INTEGRATE] Change 2490222 by Michael.Noland@mnoland-T2784-HDepot on 2015/03/25 00:18:46

[CL 2494763 by Michael Noland in Main branch]
2015-03-27 20:05:10 -04:00
Dan Oconnor
195086b1a5 Changes from PVS-Studio, these could introduce small behavior change.
Consistent null checks, fixes for copy/pasted conditions, copy pasted LOCTEXT identifiers, comparisons against literals of the wrong type, missing return statements, dead code, and some system calls that were ignoring their return value

[CL 2494390 by Dan Oconnor in Main branch]
2015-03-27 16:11:50 -04:00
Maciej Mroz
444c76e0f9 UE-11733 Using a function to set button style causes a crash
[CL 2494280 by Maciej Mroz in Main branch]
2015-03-27 15:13:16 -04:00
Robert Manuszewski
2a2bfd5a48 VerifyImportInner will no longer use a temp FMessageLog object to report errors.
[CL 2494149 by Robert Manuszewski in Main branch]
2015-03-27 14:06:28 -04:00
Marc Audy
5250ddb48c Made a number of string operations in key files with symbols CaseSensitive
Removed some duplicated checks in FPaths::IsRelative

[CL 2493680 by Marc Audy in Main branch]
2015-03-27 09:49:05 -04:00
Robert Manuszewski
8b501cf460 Don't mark all loaded objects as root set in non-cooked builds. Blueprints don't like it. Instead mark all objects loaded with Constructor Helpers as root set.
[CL 2493582 by Robert Manuszewski in Main branch]
2015-03-27 07:50:01 -04:00