Files
UnrealEngineUWP/Engine/Source/Editor/UserFeedback/Private/UserFeedback.cpp

685 lines
20 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "CoreMinimal.h"
#include "Misc/Attribute.h"
#include "Layout/Margin.h"
#include "Widgets/SNullWidget.h"
#include "Animation/CurveSequence.h"
#include "InputCoreTypes.h"
#include "Input/Reply.h"
#include "Widgets/SWidget.h"
#include "IUserFeedbackModule.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Modules/ModuleManager.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SCompoundWidget.h"
#include "Widgets/SBoxPanel.h"
#include "Widgets/SWindow.h"
#include "Framework/Application/SlateApplication.h"
#include "Textures/SlateIcon.h"
#include "Framework/Commands/UIAction.h"
#include "Framework/Commands/UICommandList.h"
#include "Widgets/Layout/SBorder.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Text/STextBlock.h"
#include "Widgets/Layout/SBox.h"
#include "Widgets/Layout/SUniformGridPanel.h"
#include "Framework/MultiBox/MultiBoxBuilder.h"
#include "Widgets/Input/SEditableTextBox.h"
#include "Widgets/Input/SButton.h"
#include "Widgets/Input/SComboButton.h"
#include "Widgets/Notifications/SPopUpErrorText.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "AnalyticsEventAttribute.h"
#include "Interfaces/IAnalyticsProvider.h"
#include "EngineAnalytics.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "EditorStyleSet.h"
#include "UnrealEdMisc.h"
#include "Framework/Notifications/NotificationManager.h"
#include "Widgets/Notifications/SNotificationList.h"
#define LOCTEXT_NAMESPACE "UserFeedback"
/** Feedback mode - positive or negative */
namespace EFeedbackMode
{
enum Type { Positive, Negative };
}
/** The feedback widget itself which contains the UI for submitting feedback */
class SUserFeedbackWidget : public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS(SUserFeedbackWidget)
: _Context(), _Mode(EFeedbackMode::Positive){}
SLATE_ARGUMENT(FText, Context)
SLATE_ARGUMENT(EFeedbackMode::Type, Mode)
SLATE_EVENT(FSimpleDelegate, OnFeedbackSent)
SLATE_EVENT(FSimpleDelegate, OnCloseClicked)
SLATE_END_ARGS()
/** Constructor */
SUserFeedbackWidget()
: bUserSentFeedback(false)
, Sequence(0, 0.2f, ECurveEaseFunction::CubicIn)
{
}
/** Destructor - records an analytics event if the user did not send feedback */
~SUserFeedbackWidget()
{
if (!bUserSentFeedback && FEngineAnalytics::IsAvailable())
{
FEngineAnalytics::GetProvider().RecordEvent(FString("Editor.Feedback.Canceled"));
}
}
/** Construct this widget
*
* @param InArgs The declaration data for this widget
*/
void Construct(const FArguments& InArgs)
{
// Animate ourselves in if we're running at the target frame rate
if (FSlateApplication::Get().IsRunningAtTargetFrameRate())
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
Sequence.Play( this->AsShared() );
}
else
{
Sequence.JumpToEnd();
}
OnFeedbackSent = InArgs._OnFeedbackSent;
OnCloseClicked = InArgs._OnCloseClicked;
Mode = InArgs._Mode;
PopulateContextNames(InArgs._Context);
const FMargin DefaultPadding(5, 5, 5, 5);
ChildSlot
[
SNew(SBorder)
.BorderImage(FEditorStyle::GetBrush("ToolPanel.GroupBorder"))
[
SNew(SVerticalBox)
+SVerticalBox::Slot()
.FillHeight(1)
[
SNew(SBox)
.Padding(FMargin(8,5,8,5))
[
SNew(SVerticalBox)
+SVerticalBox::Slot()
.Padding(DefaultPadding)
.AutoHeight()
[
SNew(STextBlock)
.Text(this, &SUserFeedbackWidget::GetDescriptionText)
]
+SVerticalBox::Slot()
.Padding(DefaultPadding)
.AutoHeight()
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
.HAlign(HAlign_Left)
[
SNew(SComboButton)
.ContentPadding(FMargin(5,2,5,2))
.OnGetMenuContent(this, &SUserFeedbackWidget::GetComboBoxMenuContent)
.ButtonContent()
[
SNew(STextBlock)
.Text(this, &SUserFeedbackWidget::GetComboBoxText)
]
]
+SHorizontalBox::Slot()
.FillWidth(1)
.Padding(FMargin(5,0,0,0))
[
SAssignNew(TextBox, SEditableTextBox)
.Padding(2)
.OnTextChanged(this, &SUserFeedbackWidget::OnTextChanged)
.HintText(LOCTEXT("FeedbackTextBox_HintText", "Tell us more"))
.ErrorReporting
(
SNew( SPopupErrorText )
.ShowInNewWindow( true )
)
]
]
+SVerticalBox::Slot()
.Padding(DefaultPadding)
.AutoHeight()
.HAlign(HAlign_Right)
[
SNew(SUniformGridPanel)
.SlotPadding(FEditorStyle::GetMargin("StandardDialog.SlotPadding"))
.MinDesiredSlotWidth(FEditorStyle::GetFloat("StandardDialog.MinDesiredSlotWidth"))
.MinDesiredSlotHeight(FEditorStyle::GetFloat("StandardDialog.MinDesiredSlotHeight"))
+SUniformGridPanel::Slot(0,0)
[
SNew(SButton)
.HAlign(HAlign_Center)
.ContentPadding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
.OnClicked(this, &SUserFeedbackWidget::OnFeedbackSubmitted)
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.VAlign(VAlign_Center)
.AutoWidth()
[
SNew(SImage).Image(FEditorStyle::GetBrush(Mode == EFeedbackMode::Positive ? "UserFeedback.PositiveIcon" : "UserFeedback.NegativeIcon"))
]
+SHorizontalBox::Slot()
.Padding(FMargin(0,0,3,0))
.VAlign(VAlign_Center)
.AutoWidth()
[
SNew(STextBlock).Text(LOCTEXT("SubmitFeedback", "Send"))
]
]
]
+SUniformGridPanel::Slot(1,0)
[
SNew(SButton)
.HAlign(HAlign_Center)
.ContentPadding(FEditorStyle::GetMargin("StandardDialog.ContentPadding"))
.OnClicked(this, &SUserFeedbackWidget::OnCloseButtonClicked)
.Text(LOCTEXT("CancelButton", "Cancel"))
]
]
]
]
]
];
TextBox->SetError( FText::GetEmpty() );
}
/** Called when a key is pressed on the widget */
virtual FReply OnPreviewKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override
{
if (InKeyEvent.GetKey() == EKeys::Escape)
{
return OnCloseButtonClicked();
}
else if (InKeyEvent.GetKey() == EKeys::Enter)
{
return OnFeedbackSubmitted();
}
return FReply::Unhandled();
}
/** @return The feedback mode for this widget */
EFeedbackMode::Type GetFeedbackMode() const
{
return Mode;
}
private:
/** Setup the array of context names */
void PopulateContextNames(const FText& SuppliedContext)
{
// ------------------------------------
// Fill the context display names array
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602) ========================== MAJOR FEATURES + CHANGES ========================== Change 2946506 on 2016/04/18 by Steven.Hutton Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports. Change 3017807 on 2016/06/17 by Chris.Wood Improved Crash Report Process folder delete code as it could sometimes fail. [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also added logging to Slack when stop request received instead of just when stop is complete. Change 3019367 on 2016/06/20 by Chris.Wood Improve Crash Report Process logging to track bad reads from S3. Also, better logging when CleanReport fails to delete folders. Change 3019376 on 2016/06/20 by Steve.Robb Clarification of assert message and comments which talk about 'null' TFunctions. Tidy-up of dead code. Change 3019409 on 2016/06/20 by Steve.Robb New Find and FindByPredicate algorithms for finding stuff in arbitrary containers. Change 3022658 on 2016/06/22 by Chris.Wood Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11) [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also improved logging to Slack with better layout, fixed event ordering and counting duplicates. Change 3022840 on 2016/06/22 by Steve.Robb Skipped UHT attributes removed. Change 3022907 on 2016/06/22 by Robert.Manuszewski Fixing crash when adding a new C++ class to project #jira UE-32333 Change 3023169 on 2016/06/22 by Steve.Robb Checks for UTHINGs in skipped preprocessor blocks. Fixes for skipped UTHINGs and some other parsing accidents. #jira UE-31627 Change 3023239 on 2016/06/22 by Steve.Robb Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html Change 3026812 on 2016/06/24 by Mieszko.Zielinski Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4 Change 3028235 on 2016/06/27 by Robert.Manuszewski PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist) Change 3028282 on 2016/06/27 by Steve.Robb Fix for missing UFUNCTION check in skipped preprocessor blocks. #jira UE-31627 Change 3028284 on 2016/06/27 by Steve.Robb Debuggability improvements and coding standards changes. Change 3028343 on 2016/06/27 by Steve.Robb Fix for UHT error in WEX. #jira UE-32464 Change 3028393 on 2016/06/27 by Steve.Robb Fix for hot reload of enums finding the old enum. Fix to stop SPropertyEditorNumeric caching the enum flags. #jira UE-31658 Change 3030362 on 2016/06/28 by Robert.Manuszewski Fixing hang when cooking. Change 3030462 on 2016/06/28 by Steve.Robb Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild. #jira UE-32001 Change 3034341 on 2016/06/30 by Robert.Manuszewski Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report. Added 'debug twothreadsgpf' command to test the functionality. Change 3034342 on 2016/06/30 by John.Mahoney Fix for crash when loading an empty cached asset registry. #jira UE-32232 Change 3035599 on 2016/07/01 by Chris.Wood Added support for CrashType string to Crash Report Process. CRP v1.1.12 [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible. Added in missing crash context parameters that have been added to clients but not known by the server. Change 3035787 on 2016/07/01 by John.Mahoney Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h. #jira UE-30189 Change 3036933 on 2016/07/04 by Steve.Robb Proper forwarding constructor for FAsyncTask. Change 3036938 on 2016/07/04 by Steve.Robb Fix for CDO hot reload corrupting memory when replacing references inside structs. #jira UE-29335 Change 3036960 on 2016/07/04 by Steve.Robb Fix for FAnsiAllocator::ResizeAllocation when resizing to zero. Change 3037423 on 2016/07/05 by Steve.Robb FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool. Change 3037464 on 2016/07/05 by Steve.Robb HotReload.cpp cleanup: Deep nesting flattened. Linear array searches replaced with maps. FHotReloadModule::GetGameModules made into a non-member function and split into two. Comment and coding standard fixes. Change 3037741 on 2016/07/05 by John.Mahoney Fix for COTF not checking the correct timestamps on startup. #jira UE-31023 Change 3037846 on 2016/07/05 by Steve.Robb Fix for compile button disappearing on a bad compile. #jira UE-31575 Change 3037994 on 2016/07/05 by Steve.Robb Static analysis fixes: warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. Change 3039186 on 2016/07/06 by Robert.Manuszewski Enabling crash callstack logging by default. Change 3039220 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot warning C6001: Using uninitialized memory 'UserNameLength' warning C6001: Using uninitialized memory 'DomainNameLength' Change 3039230 on 2016/07/06 by Steve.Robb Fix for VC internal compiler errors. Change 3039237 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read. Change 3039287 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'. warning C6031: Return value ignored: 'CoCreateInstance'. Change 3039359 on 2016/07/06 by Graeme.Thornton Compile error fix for FAsyncTask, courtesy of SteveR Change 3039534 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects. Change 3039545 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value. Change 3039578 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3039623 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X' warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read. warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 3039630 on 2016/07/06 by John.Mahoney Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here. #jira UE-29123 Change 3039664 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. Change 3039673 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'. Change 3039690 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope. warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3040868 on 2016/07/07 by Graeme.Thornton Config based class stripping for server builds Change 3040872 on 2016/07/07 by Graeme.Thornton Remove "return false" NeedsLoadForServer functions from engine code Change 3040997 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Landscape'. warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'. warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'. Change 3041004 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent. Change 3041014 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3041111 on 2016/07/07 by Steve.Robb Removal of an obsolete error message about INI file case sensitivity. Change 3041150 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? Change 3041274 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'X'. Change 3041294 on 2016/07/07 by Chris.Wood Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14) [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length. Increased buffer size for decompression as this was sometimes too small. Modified S3 reading code to look for multiple records in each downloaded file. Change 3041472 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'. Change 3043074 on 2016/07/08 by John.Mahoney Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name. Fix for COTF GetFiles not handling absolute GameDir paths properly. #jira UE-31023 Change 3044461 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written. Change 3044470 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'. Change 3044476 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3044551 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did. Change 3044664 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'. warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did. warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'. warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read. Change 3044716 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read. Change 3044717 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did. This appears to be a false positive. Change 3044787 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'FbxObject'. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did. Change 3045933 on 2016/07/12 by Steve.Robb Overloading support for TSharedPtr, TSharedRef and TWeakPtr. Change 3045960 on 2016/07/12 by Robert.Manuszewski Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled. Change 3045963 on 2016/07/12 by Steve.Robb PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed. THasOperatorEquals and THasOperatorNotEquals traits moved to their own header. Change 3045967 on 2016/07/12 by Steve.Robb Initializer list support for TArray and TSet. Change 3045968 on 2016/07/12 by Robert.Manuszewski Fixing an ensure after typing 'stat dumphitches' in console. Change 3045992 on 2016/07/12 by Robert.Manuszewski Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure) Change 3047870 on 2016/07/13 by Steven.Hutton Updated CRW to entity framework with repository models. #rb none Change 3047871 on 2016/07/13 by Steven.Hutton Add repository models #rb none Change 3049468 on 2016/07/14 by Steven.Hutton Fix broken project files. #rb none #lockdown Nick.Penwarden [CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
ContextDisplayNames.Append({
LOCTEXT("LevelEditing", "Level Editing"),
LOCTEXT("ContentBrowser", "Content Browser"),
LOCTEXT("PlayInEditor", "Play In Editor"),
LOCTEXT("AssetCreation", "Asset Creation"),
LOCTEXT("DetailsPanel", "Details Panel"),
LOCTEXT("Tutorials", "Tutorials"),
LOCTEXT("Other", "Other")
});
ContextMarkers.FirstEditor = ContextDisplayNames.Num();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602) ========================== MAJOR FEATURES + CHANGES ========================== Change 2946506 on 2016/04/18 by Steven.Hutton Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports. Change 3017807 on 2016/06/17 by Chris.Wood Improved Crash Report Process folder delete code as it could sometimes fail. [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also added logging to Slack when stop request received instead of just when stop is complete. Change 3019367 on 2016/06/20 by Chris.Wood Improve Crash Report Process logging to track bad reads from S3. Also, better logging when CleanReport fails to delete folders. Change 3019376 on 2016/06/20 by Steve.Robb Clarification of assert message and comments which talk about 'null' TFunctions. Tidy-up of dead code. Change 3019409 on 2016/06/20 by Steve.Robb New Find and FindByPredicate algorithms for finding stuff in arbitrary containers. Change 3022658 on 2016/06/22 by Chris.Wood Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11) [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also improved logging to Slack with better layout, fixed event ordering and counting duplicates. Change 3022840 on 2016/06/22 by Steve.Robb Skipped UHT attributes removed. Change 3022907 on 2016/06/22 by Robert.Manuszewski Fixing crash when adding a new C++ class to project #jira UE-32333 Change 3023169 on 2016/06/22 by Steve.Robb Checks for UTHINGs in skipped preprocessor blocks. Fixes for skipped UTHINGs and some other parsing accidents. #jira UE-31627 Change 3023239 on 2016/06/22 by Steve.Robb Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html Change 3026812 on 2016/06/24 by Mieszko.Zielinski Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4 Change 3028235 on 2016/06/27 by Robert.Manuszewski PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist) Change 3028282 on 2016/06/27 by Steve.Robb Fix for missing UFUNCTION check in skipped preprocessor blocks. #jira UE-31627 Change 3028284 on 2016/06/27 by Steve.Robb Debuggability improvements and coding standards changes. Change 3028343 on 2016/06/27 by Steve.Robb Fix for UHT error in WEX. #jira UE-32464 Change 3028393 on 2016/06/27 by Steve.Robb Fix for hot reload of enums finding the old enum. Fix to stop SPropertyEditorNumeric caching the enum flags. #jira UE-31658 Change 3030362 on 2016/06/28 by Robert.Manuszewski Fixing hang when cooking. Change 3030462 on 2016/06/28 by Steve.Robb Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild. #jira UE-32001 Change 3034341 on 2016/06/30 by Robert.Manuszewski Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report. Added 'debug twothreadsgpf' command to test the functionality. Change 3034342 on 2016/06/30 by John.Mahoney Fix for crash when loading an empty cached asset registry. #jira UE-32232 Change 3035599 on 2016/07/01 by Chris.Wood Added support for CrashType string to Crash Report Process. CRP v1.1.12 [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible. Added in missing crash context parameters that have been added to clients but not known by the server. Change 3035787 on 2016/07/01 by John.Mahoney Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h. #jira UE-30189 Change 3036933 on 2016/07/04 by Steve.Robb Proper forwarding constructor for FAsyncTask. Change 3036938 on 2016/07/04 by Steve.Robb Fix for CDO hot reload corrupting memory when replacing references inside structs. #jira UE-29335 Change 3036960 on 2016/07/04 by Steve.Robb Fix for FAnsiAllocator::ResizeAllocation when resizing to zero. Change 3037423 on 2016/07/05 by Steve.Robb FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool. Change 3037464 on 2016/07/05 by Steve.Robb HotReload.cpp cleanup: Deep nesting flattened. Linear array searches replaced with maps. FHotReloadModule::GetGameModules made into a non-member function and split into two. Comment and coding standard fixes. Change 3037741 on 2016/07/05 by John.Mahoney Fix for COTF not checking the correct timestamps on startup. #jira UE-31023 Change 3037846 on 2016/07/05 by Steve.Robb Fix for compile button disappearing on a bad compile. #jira UE-31575 Change 3037994 on 2016/07/05 by Steve.Robb Static analysis fixes: warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. Change 3039186 on 2016/07/06 by Robert.Manuszewski Enabling crash callstack logging by default. Change 3039220 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot warning C6001: Using uninitialized memory 'UserNameLength' warning C6001: Using uninitialized memory 'DomainNameLength' Change 3039230 on 2016/07/06 by Steve.Robb Fix for VC internal compiler errors. Change 3039237 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read. Change 3039287 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'. warning C6031: Return value ignored: 'CoCreateInstance'. Change 3039359 on 2016/07/06 by Graeme.Thornton Compile error fix for FAsyncTask, courtesy of SteveR Change 3039534 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects. Change 3039545 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value. Change 3039578 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3039623 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X' warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read. warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 3039630 on 2016/07/06 by John.Mahoney Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here. #jira UE-29123 Change 3039664 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. Change 3039673 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'. Change 3039690 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope. warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3040868 on 2016/07/07 by Graeme.Thornton Config based class stripping for server builds Change 3040872 on 2016/07/07 by Graeme.Thornton Remove "return false" NeedsLoadForServer functions from engine code Change 3040997 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Landscape'. warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'. warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'. Change 3041004 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent. Change 3041014 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3041111 on 2016/07/07 by Steve.Robb Removal of an obsolete error message about INI file case sensitivity. Change 3041150 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? Change 3041274 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'X'. Change 3041294 on 2016/07/07 by Chris.Wood Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14) [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length. Increased buffer size for decompression as this was sometimes too small. Modified S3 reading code to look for multiple records in each downloaded file. Change 3041472 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'. Change 3043074 on 2016/07/08 by John.Mahoney Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name. Fix for COTF GetFiles not handling absolute GameDir paths properly. #jira UE-31023 Change 3044461 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written. Change 3044470 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'. Change 3044476 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3044551 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did. Change 3044664 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'. warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did. warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'. warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read. Change 3044716 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read. Change 3044717 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did. This appears to be a false positive. Change 3044787 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'FbxObject'. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did. Change 3045933 on 2016/07/12 by Steve.Robb Overloading support for TSharedPtr, TSharedRef and TWeakPtr. Change 3045960 on 2016/07/12 by Robert.Manuszewski Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled. Change 3045963 on 2016/07/12 by Steve.Robb PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed. THasOperatorEquals and THasOperatorNotEquals traits moved to their own header. Change 3045967 on 2016/07/12 by Steve.Robb Initializer list support for TArray and TSet. Change 3045968 on 2016/07/12 by Robert.Manuszewski Fixing an ensure after typing 'stat dumphitches' in console. Change 3045992 on 2016/07/12 by Robert.Manuszewski Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure) Change 3047870 on 2016/07/13 by Steven.Hutton Updated CRW to entity framework with repository models. #rb none Change 3047871 on 2016/07/13 by Steven.Hutton Add repository models #rb none Change 3049468 on 2016/07/14 by Steven.Hutton Fix broken project files. #rb none #lockdown Nick.Penwarden [CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
ContextDisplayNames.Append({
NSLOCTEXT("BlueprintEditor", "AppLabel", "Blueprint Editor"),
NSLOCTEXT("Matinee", "AppLabel", "Matinee"),
NSLOCTEXT("StaticMeshEditor", "AppLabel", "StaticMesh Editor"),
NSLOCTEXT("MaterialEditor", "AppLabel", "Material Editor"),
NSLOCTEXT("PhAT", "AppLabel", "PhAT"),
NSLOCTEXT("Cascade", "AppLabel", "Cascade"),
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3198622) #rb None #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3182087 on 2016/11/01 by Lina.Halper PR #2328: fix morph target weight application order. (Contributed by tmiv) - changed order of morphtarget application to be animation and THEN SetMorphTarget - made sure you could clear the weight also if SetMorphTarget to be 0.f #jira: UE-29999 Change 3182090 on 2016/11/01 by Lina.Halper Fix issue where import doesn't display any message when import type hasn't been detected Change 3182123 on 2016/11/01 by Wes.Hunt ensure the EngineAnalytics singleton is not being held onto by someone else during engine shutdown. Change 3182177 on 2016/11/01 by Lina.Halper Fix not being able to modify Joint Target Location in detail panel #jira: UE-30900 Change 3182181 on 2016/11/01 by Ben.Zeigler Add UGameplayTagsManager::AddNativeGameplayTag to allow registering tags directly from native code. This stops them from being deleteable in the editor, and will register them even if they don't exist elsewhere Change internal games to use this to register their native tags. The explicit call to be done adding native tags is not required, it happens on engine post init Some header cleanup Change 3182876 on 2016/11/02 by Danny.Bouimad Moving files Change 3182912 on 2016/11/02 by Thomas.Sarkanen Added access to the viewport client from IPersonaViewport Allows systems to hook into the state of the client. #jira UE-36549 - Need to access the current viewmode in FPersonaMeshDetails Change 3182927 on 2016/11/02 by Thomas.Sarkanen Initially select current asset in the asset family shortcut bar dropdown #jira UE-35532 - Animation dropdown submenu doesn't highlight currently selected object, where as the asset browser does Change 3182970 on 2016/11/02 by Lukasz.Furman CIS fix for gameplay debugger copy of CL# 3165005 Change 3183123 on 2016/11/02 by Mieszko.Zielinski Fixed changing AreaClass of NavLinkProxy point links not having any effect on navmesh generation #UE4 Change 3183310 on 2016/11/02 by Jurre.deBaare Blendspace changes: - Moved MarkerSync code from BlendSpaceBase.cpp to BlendSpaceUtilities.h/cpp - Re-ordered blendspace.h/cpp - const correctness where possible - Removed unused code paths - Wrapped non-runtime code paths in WITH_EDITOR Blendspace editor refactor: - Moved element generators into respective AnimationBlendSpaceHelpers.h/cpp - New Grid Widget class - Simplified Blendspace(1D) editors, most things are handled within SAnimationBlendSpaceBase - SBlendSpaceGridWidget handles visualization and UI interaction (modifying blendspace is done through parent SAnimationBlendSpaceBase) Change 3183344 on 2016/11/02 by James.Golding UEFW-181 : Move PhysX vehicle support to a plugin - Added FPhysicsDelegates for several useful global physics delegates (OnUpdatePhysXMaterial, OnPhysicsAssetChanged, OnPhysSceneInit, OnPhysSceneTerm) - Added OnPhysScenePreTick and OnPhysSceneStep delegates to FPhysScene - TireType is now deprecated, just kept in Engine for backwards compat. TireConfig in PhysXVehicles plugin is new structure - Added 'ConvertTireTypes' editor console util which creates TireConfig's from TireTypes's (using asset registry) and PhysicalMaterials, and updates any VehicleWheel BPs Change 3183351 on 2016/11/02 by Ben.Zeigler Add utility functions to convert from export text versions of tag and container, which is useful when reading tags out of the asset registry Change 3183354 on 2016/11/02 by Ben.Zeigler Change fortnite to use new GameplayTag functions to parse tags in the asset registry to avoid bad stall while checking mission requirements. This only works once the mission infos have been resaved Change 3183383 on 2016/11/02 by Thomas.Sarkanen Persona camera fixes Dont reset the camera all the time when setting skeletal meshes (we only do this the first time now). Add shortcuts to focus the camera using 'F' key from the skeleton tree (or anywhere else that wants to). Also add a menu option to the viewport to make this more discoverable. Shortcut is now handles by the viewport widget instead of the client (as this is how other viewports handle it). #jira UE-36458 - Stop camera from resetting when doing undo or redo in persona animation editor Change 3183409 on 2016/11/02 by Jon.Nabozny #rn Allow MAX_ARRAY_SIZE and MAX_ARRAY_MEMORY from RepLayout to be user configurable. #jira UE-35660 Change 3183625 on 2016/11/02 by James.Golding Hopeful fix for Mac CIS issue in PhysXVehiclesEditor Change 3183652 on 2016/11/02 by Ben.Zeigler Fix issue where commonly replicated tags didn't work if load from ini was turned off. Fix it so gameplay tag tree is always fully sorted alphabetically, instead of only the root tags being sorted. Change 3183856 on 2016/11/02 by Richard.Hinckley #jira UEDOC-4006 Editing GameMode and GameState documentation (in Framework branch). Change 3183902 on 2016/11/02 by Mieszko.Zielinski Fixed EQS debug drawing not showing item labels #UE4 Proper implementation of CL#3183899 #jira UE-38122 Change 3183996 on 2016/11/02 by Jon.Nabozny Fix DefaultMaxRepArrayMemory value to be UINT16_MAX (65535). Was previously set to 64 * 1024 = 65536. Change 3184129 on 2016/11/02 by Ben.Zeigler #jira UE-38022 Move GameplayAbilities to a plugin. Remove GameplayAbilitiesEditorEnabled ini setting, instead enable the "GameplayAbilities" plugin in your uproject if you want abilities, it's disabled by default #jira UE-6947 Remove GameplayAbilityBlueprintGeneratedClass as it's not needed and was only being used half the time #jira UE-19427 Fix incorrect usage of WorldContextObject in ability tasks to instead be OwningAbility, as it would crash if used on anything other than a gameplay ability object Change 3184130 on 2016/11/02 by Ben.Zeigler Internal game fixups for moving gameplayabilities to a plugin Change 3184469 on 2016/11/02 by Ben.Zeigler Change abilities plugin to be more obviously unsupported Change 3184565 on 2016/11/02 by dan.reynolds AEOverview update with HRTF test map Change 3184800 on 2016/11/03 by Thomas.Sarkanen Added "Show Selected and Parents" to bone display options Also fixed mis-named menu section. #jira UE-35375 - Add 'selected bone and parents' option to Persona viewport Change 3184810 on 2016/11/03 by James.Golding Remove WoflPlat PhysX 3.3 and Apex 1.3 files Change 3184817 on 2016/11/03 by Thomas.Sarkanen Added facial animation support Added curve table to sound wave (internal or external). Added UI support for manipulating these. Improved curve table editor. - Editor can now display curves as well as tables. - Sparse keys are now properly supported (where keys are not presnet at some times in some curves). Added curve source interface. Added external curve node. This allows any component or actor (BP or native) that implements ICurveSourceInterface to drive curves. Added new audio component that can also provide curves. This handles the preroll delay (approx 0.4 seconds, depending on audio) so the mouth can open before audio is played. Added bulk importer plugin. This imports audio & FBX files and builds cuirve data into SoundWave assets. - Adapted exisitng FBX curve import slightly to use FRichCurves rather than FFloatCurves. - Added new support for importing curves to a curve table. Added preview of audio to Persona. - Added display, filtering and playback of sound waves from the anim sequence browser. - Audio playback with curves routed to animation now works with anim blueprints and pose assets (as we need a pose asset to preview poses!) - Persona now uses an Actor rather than disparate components. - Added overrides for AddComponent and RemoveComponent to make sure actor is hooked up correctly. - Preview scene can now be manipulated by plugins etc. using a delegate when it is created. - Single anim instance has been slightly re-worked to do its update and evaluate logic inside of a local anim node. This allows derived classes to build functionality up component-wise by adding new nodes to the 'graph'. #jira UEFW-7 - Routing Sound Curves to AnimBP #jira UEFW-5 - Support importing curves #jira UE-37950 - Spawn preview actor in animation editor Change 3184837 on 2016/11/03 by James.Golding PR #2896: Fix FVehicleAnimInstanceProxy::PreUpdate not calling FFAnimInstanceProxy's PreUpdate (Contributed by DenizPiri) #jira UE-37978 Change 3184847 on 2016/11/03 by Thomas.Sarkanen Fixed editor shutdown crash Dont try to save config when UObjects are all gone. Change 3184853 on 2016/11/03 by James.Golding Stop Engine module linking against PhysX vehicle lib, link that into PhysXVehicles plugin instead. Change 3184884 on 2016/11/03 by Thomas.Sarkanen Anim Blueprint thread safety is now checked in the compiler Added new metadata keys for classes and functions to describe their thread safety. Added extra warnings in the anim BP compiler based around these new keys to help people catch suspect thread usage. Expanded the compiler erorr reporting to allow for extra rich message tokens to be appended (for documentation etc.). Improved BP error reporting: Now we display the actual node name instead of CallFunction_0 etc. CVar forcing multithreaded update is now defaulted to off. Projects now by default enable it but can more easily opt-out. #doc Added link to new section of AnimGraph page, which may benefit from images etc. #jira UE-28283 - Look into expanding the system to determine what nodes we allow to run on worker threads. Change 3184886 on 2016/11/03 by Thomas.Sarkanen Content fixes for anim BP thread safety warnings Ocean: Random Float node is unsafe (uses rand() unde rthe hood) so replaced with Random Stream. Odin: Flying Bot accessed the character blueprint inside some transitions. Cached the value in the event graph instead. Fortnite: Disable threaded update for a number of anim BPs as they were using unsafe calls when using CopyPoseFromMesh Change 3184894 on 2016/11/03 by Thomas.Sarkanen Fix Mac CIS Change 3184951 on 2016/11/03 by Thomas.Sarkanen Fix CIS warning on clang platforms Change 3185176 on 2016/11/03 by James.Golding Hopeful fix for building PhysXVehicles plugin for mac Change 3185289 on 2016/11/03 by Alex.Delesky #jira UE-37773 - Updating the Gameplay Tags UI to allow for the following: -Addition of a tag with comments and a specific INI location -An "Add Subtag" button that will allow the user to create a tag underneath a specified parent that autofills most of the information (parent name and location) for the new tag -A dropdown menu to allow for additional actions to be performed on a tag (rename, delete, search for references) -Comments for gameplay tags now show up in the tooltip forthe tag rather than the tag name if one had been specified -Shows a tree in the Project Settings window when viewing the gameplay tag list instead of an array Change 3185331 on 2016/11/03 by Marc.Audy Remove duplicated condition from if Change 3185426 on 2016/11/03 by James.Golding Another attempt at fixing mac builds of PhysXVehicles plugin Change 3185487 on 2016/11/03 by James.Golding - Remove TireType assets from templates/sample, add TireConfigs instead - Make deprecated vehicle vars visible (but not editable), to help converting content - Change icon for PhysX vehicle plugin Change 3185520 on 2016/11/03 by James.Golding Trying yet again to fix Mac CIS! Change 3185542 on 2016/11/03 by Ben.Zeigler #jira UE-34086 Commit modified version of PR #2665 to allow overriding crouch behavior in subclasses of CharacterMovementComponent #jira UE-35652 Fix crouch behavior to not change capsule until after uncroach check, to avoid causing unnecessary physics side effects Also had to set the TeleportPhysics flag in this case, so add code to remember if a teleport was attempted during a deferred movement, and then apply that flag during EndScopedMovementUpdate Change 3185570 on 2016/11/03 by Marc.Audy Protect against theoretical crash introduced in CL# 2049861 if CreatePackage returns null. Remove some autos Change 3185749 on 2016/11/03 by dan.reynolds AEOverview test map addition: testing Virtual Voice Change 3185946 on 2016/11/03 by dan.reynolds AEOverview tweaks - clarified success conditions for Streaming Spam and Streaming Priority maps Change 3185972 on 2016/11/03 by Lina.Halper Fix issue with offset of attachment getting messed up because parent doesn't tick the animation correctly when opening level from Content Browser #jira: UE-31890 #code review: Thomas.Sarkanen Change 3186043 on 2016/11/03 by Alex.Delesky #jira UE-37773 - Fixing some of the gameplay tags UI based on feedback -Right-aligned input fields for the AddNewGameplayTag and RenameGameplayTag widgets -Added a divider to the GameplayTag widget that will appear when the AddNewGameplayTag widget is visible -Tags with comments will now display both their name and their comment in tooltips Change 3186207 on 2016/11/03 by Alex.Delesky #jira UE-37773 - The Gameplay Tags widget in the project browser will no longer display the disabled checkboxes and disabled text for the tag names Change 3186321 on 2016/11/03 by Dan.Reynolds Removed deprecated test asset (BP_ProceduralSoundWaveTest) Change 3186740 on 2016/11/04 by Thomas.Sarkanen Removed FPersona and supporting classes Also removed UMorphTarget's asset type actions (as it was nearly empty and we dont use them as assets any more). #jira UEFW-222 - Remove FPersona Change 3186741 on 2016/11/04 by Thomas.Sarkanen Fix non-unity builds Change 3186755 on 2016/11/04 by Thomas.Sarkanen Prevent adding keys to read-only curves in curve tables Lock off the shift-LMB shortcut to add keys #jira UE-38210 - Crash trying to add a key to a curve table in curve view Change 3186798 on 2016/11/04 by James.Golding UE-37503 - Add FHitResult output to K2_LineTraceComponent Change 3186800 on 2016/11/04 by James.Golding - Remove deprecated collision functions in KismetSystemLibrary - Remove _NEW from collision function names, add redirectors - Add debug draw options (TraceColor, TraceHitColor, DrawTime) to shape traces, to match line traces (UE-35941) Change 3186989 on 2016/11/04 by James.Golding Fix CIS fail in Fortnte Change 3187081 on 2016/11/04 by Wes.Hunt EngineAnalytics::Shutdown now checks to see if the Analytics pointer is null OR unique before ensuring. #jira UE-38125 Change 3187135 on 2016/11/04 by Jurre.deBaare Fix for incorrect framework version in blendspace serialization code. Change 3187682 on 2016/11/04 by Ben.Zeigler #jira UE-38289 Fix crash when replicated tag array is empty Change 3188113 on 2016/11/05 by Mieszko.Zielinski Removed a bunch of deprecated AI module functions #UE4 Cut-off point at v4.10 Change 3188119 on 2016/11/05 by Mieszko.Zielinski Deprecated AI functionality removal fallout fixes #UE4 Change 3188121 on 2016/11/05 by Mieszko.Zielinski PR #2883: Added a Cone EQS Generator (Contributed by orfeasel) Did some massaging on change. #jira UE-37685 Change 3188122 on 2016/11/05 by Mieszko.Zielinski Bumped EnvQueryGenerator_Cone.AlignedPointsDistance's default value up to 100, which makes a bit more sense #UE4 Change 3188442 on 2016/11/07 by James.Golding Check in trace debug draw test map Change 3188463 on 2016/11/07 by james.cobbett Submitting Pose Snapshot test map and asset Change 3188618 on 2016/11/07 by Thomas.Sarkanen Expanded pose snapshot system Allows poses to be stored in variables. Split FPoseSnapshot from FAnimInstanceProxy and made it a BlueprintType USTRUCT. Added modes to FAnimNode_PoseSnapshot so that we can either use the named pose or a FPoseSnapshot variable pin. Moved pose snapshot code into USkeletalMeshComponent as it doesnt need to be on the proxy any more. #jira UEFW-242 - Caching poses to a Blueprint variable (and an anim node to use it with) Change 3188619 on 2016/11/07 by Thomas.Sarkanen Moved "NoResetToDefaults" to the correct metadata section in ObjectMacros.h Change 3188642 on 2016/11/07 by Thomas.Sarkanen Added new test for pose variables Change 3188716 on 2016/11/07 by Ben.Zeigler #jira UE-38294 Fix bad error message when adding new DefaultGameplayTags.ini file Change 3189020 on 2016/11/07 by dan.reynolds Added a test map for Audio Volume Ambient Zone test for Play Sound at Location AVOverviewAZPlaySoundAtLocation Change 3189188 on 2016/11/07 by Jon.Nabozny Fix edge cases / alternate IPv6 formats in IPAddressBSDIPv6::SetIp. #jira UE-36607 Change 3189199 on 2016/11/07 by Jon.Nabozny Flag UActorComponent, USceneComponent, and UPrimitiveComponent UFUNCTIONS as UnsafeDuringActorConstruction="true" if they modify unreplicated properties, require use of the PhysScene, or otherwise indicate poor design. #jira UE-33038 Change 3189271 on 2016/11/07 by Aaron.McLeran UEFW-224 Refectoring UnrealEd code to move all audio related editing code to a new AudioEditor module - Fixups for removals - Several bug fixes for sound classes Change 3189450 on 2016/11/07 by Aaron.McLeran Fixes for facial animation playback progress - Creating a per-source PlaybackTime which can be used to get a fairly accurate playback percentage function for all platforms. - Allowing platforms to override to get a "sample accurate" playback time for platforms that are able. Change 3189507 on 2016/11/07 by Wes.Hunt * Deprecated GetUniqueDeviceId. Use GetDeviceId now instead. #jira AN-820 * Added warnings to each implementation of GetDeviceId as to what API it uses, and what cert requirements may be placed on it. * Deprecated all platform independent usages of GetMacAddress and related functions. #jira AN-820 #jira AN-802 * Deprecated GetMachineId. Use GetLoginId now instead. #jira AN-811 * Update usages of MachineID throughout CrashReporter code. Left MachineId and LoginId as available attributes. * Removed LocalPlayer requirement for setting the Analytics UserId in internal products. Removed fallbacks for seting UserId for internal products. #jira AN-814 #jira AN-808 * Removed GetUniqueDeviceId code from LauncherInstaller. * Removed redundant MachineID and AccountID from Editor.ProgramStarted analytics event. * Removed DeviceID from SessionStart analytics event. #FYI: justin.sargent, Chris.Wood, Wes.Fudala * Justin, reminder that FPortalRpcResponderFactory::Create will need to start using GetLoginID instead of MacAddress for IPC identifiers. * Chris, look over CRP code to ensure that I didn't destroy some vital bit of necessary connection with the MachineId->LoginId name change. Both values are used, and for now, they both return the same thing. * Wes, we didn't need GetUnqiueDeviceId attribute in BeginSession, as no one ever uses it, so I just removed it. Change 3190032 on 2016/11/08 by Wes.Hunt Fix a few places I forgot to deprecate regarding GetMacAddress. Change 3190107 on 2016/11/08 by Wes.Hunt Another attempt to remove deprecation warning in CIS. Apparently removing the warning for a const string initialized via a consrtuctor with a deprecated function is somewhat tricky. Still not sure why it works on my machine either way. Change 3190326 on 2016/11/08 by Aaron.McLeran Fixing CIS build warning Change 3190495 on 2016/11/08 by Jon.Nabozny Fix OSSNull server / session filtering to better match SessionSettings and online OSS. Make MCP, Steam, and Null LAN queries more consistent. #jira UE-37512 Change 3190566 on 2016/11/08 by Martin.Wilson Remove warning on Least Destructive (was incorrectly applied to least destructive due to legacy reasons) #jira UE-27323 Change 3190631 on 2016/11/08 by Martin.Wilson Fix notify validation not triggering when using set time/set frame context menu options #jira UE-37857 Change 3190666 on 2016/11/08 by Martin.Wilson Add info about anim instance to additive warning #jira UE-35930 Change 3191290 on 2016/11/09 by Thomas.Sarkanen Fix skeleton tree selection disappearing when filtering changes Note: Copying //Tasks/UE4/Dev-UEFW132-PhATUpgrade to Dev-Framework (//UE4/Dev-Framework) Split SSkeletonTree into multiple files Items now derive from the common base class ISkeletonTreeItem. New skeleton tree item RTTI added modlled on the drag/drop RTTI. Filtering is now performed independently of tree building. Filtering and building are more extensible (more of this to come). Item selection is now preserved on filter change. Filtering now (optionally) keeps the hierarchy in place. #jira UE-31017 - Skeleton Selection is Lost When Changing Filters Change 3191325 on 2016/11/09 by Thomas.Sarkanen Fix clang CIS Change 3191344 on 2016/11/09 by Thomas.Sarkanen More clang CIS fixes Change 3191345 on 2016/11/09 by Thomas.Sarkanen CIS fix: Missed another enum fwd declaration Change 3191374 on 2016/11/09 by Thomas.Sarkanen Remove 4.11 deprecated functions from animation systems Also deprecate NativeUpdateAnimation_WorkerThread as users should no longer be calling this function (it is not run on worker threads anyways). #jira UE-35748 - Clean up 4.11 Deprecated functions Change 3191375 on 2016/11/09 by Thomas.Sarkanen Fixup Orion hero instance after deprecation Change 3191739 on 2016/11/09 by Marc.Audy PhysX Vehicle plugin needs to be loaded with -game as well, so it must be Developer, not Editor. Change 3191827 on 2016/11/09 by Marc.Audy Raw Input plugin allowing support of steering wheels and flightsticks #jira UEFW-237 Change 3191828 on 2016/11/09 by Ben.Zeigler #jira UE-38384 Comment cleanup for gameplay tag library Change 3191889 on 2016/11/09 by Ben.Zeigler #jira UE-38294 Fix issues with trying to set not-yet-written settings files as writable and add them to source control If a settings file does not yet exist on disk, also try adding to source control after writing it Change 3191911 on 2016/11/09 by Marc.Audy Enable raw input plugin and configure for use with the Logitech G920 all vehicle templates and vehicle game. #jira UEFW-237 Change 3191915 on 2016/11/09 by Marc.Audy Provide useful tooltips for raw input setting properties #jira UEFW-237 Change 3192039 on 2016/11/09 by dan.reynolds AEOverview Update - Added a map for checking multi-channel file playback: AEOverviewMultichannel.umap - Incorporated AVOverviewAZPlaySoundAtLocation test into the AEOverviewMain submap list temporarily for testing purposes Change 3192059 on 2016/11/09 by Martin.Wilson Fix montage thumbnail rendering with ref pose #jira UE-35578 Change 3192065 on 2016/11/09 by Martin.Wilson Widen bone reference widget to give a better view of the name and added full name to tooltip #jira UE-36264 Change 3192217 on 2016/11/09 by Martin.Wilson Auto selected current bone when opening bone reference tree #Jira UE-36264 Change 3192332 on 2016/11/09 by Marc.Audy Fix RawInput compiling when WITH_EDITOR is false #jira UE-38433 Change 3193061 on 2016/11/10 by Thomas.Sarkanen Marked facial animation plugin & component as experimental/beta Change 3193072 on 2016/11/10 by Martin.Wilson Correct reference skeleton fix up order Change 3193112 on 2016/11/10 by Danny.Bouimad Pesudo hair asset usintphat for testing Change 3193243 on 2016/11/10 by Martin.Wilson Fix removal of USkeleton bone tree entries #Jira UE-37363 Change 3193249 on 2016/11/10 by Marc.Audy Raw input compile fixes: Fix additional not with_editor compile issues Fix static analysis warnings #jira UE-38433 Change 3193558 on 2016/11/10 by Martin.Wilson Move "Number of Curves" label creation to attribute so that it updates dynamically #jira UE-26767 Change 3193664 on 2016/11/10 by Marc.Audy PR #2919: Fixed Comment Typo in ActorComponent.cpp (Contributed by KumaKing) #jira UE-38436 Change 3193719 on 2016/11/10 by Lukasz.Furman fixed vertical jitter in replicated NavWalking movement #jira UE-33260 Change 3193802 on 2016/11/10 by Marc.Audy Remove some autos, fix NULL to nullptr, call GetWorld just once Change 3193809 on 2016/11/10 by Marc.Audy Fix Mac CIS compile error #jira UE-38501 Change 3194053 on 2016/11/10 by Aaron.McLeran Fixed crash on shutdown when using audio mixer - Switching audio mixer to use a runnable thread rather than async tasks - Fixed issue where audio buffers weren't taking ownership of wave data Change 3194057 on 2016/11/10 by Aaron.McLeran Adjusting channel mapping code to better support standard down-mixing for 2D multi-channel files. - Added support for 8 channel source files. Change 3194070 on 2016/11/10 by Aaron.McLeran Fixing stupid compile error Change 3194779 on 2016/11/11 by Jon.Nabozny Fixed UnsafeDuringActorConstruction tag on USceneComponent::GetPhysicsVolume. Missed the '=true' portion. Change 3194967 on 2016/11/11 by Mieszko.Zielinski PR #2920: Bug Fix: fix pasting Behavior Tree nodes with decorators in wrong position (Contributed by BrettKercher) #jira UE-38443 #jira UE-30906 Change 3195741 on 2016/11/11 by Ben.Zeigler #UE-38539 Stop Orion from reinitializing it's native tag dictionary when reloading menu, this was just slow before but now ensures Change 3196655 on 2016/11/14 by Marc.Audy Remove pointless remove/adds from Odin DefaultEngine.ini. This also fixes the duplicate redirector of AnimNode_WheelHandler as the version in BaseEngine.ini has been changed where it points to #jira UE-38562 Change 3196678 on 2016/11/14 by Lukasz.Furman pass on gameplay debugger's EQS category copy of CL# 3195071, 3195152, 3196617 with local fixes Change 3196700 on 2016/11/14 by Ben.Zeigler #jira UE-38539 Move where orion tags are initialized to earlier in the startup for all loading flows Change 3196719 on 2016/11/14 by Thomas.Sarkanen Added extra output to anim BP compiler when a blueprint function call is used This allows us to give more info to users when unsafe things (like blueprint functions) are used. Change 3196799 on 2016/11/14 by Jurre.deBaare Fix for blendspace tooltip crash #fix Check before dereferencing animation ptr on samples :) Change 3196971 on 2016/11/14 by Lukasz.Furman replaced hardcoded value for pathfollowing's focal point distance with a parameter #ue4 Change 3196994 on 2016/11/14 by Marc.Audy Slightly improve performance of boolean check Change 3197768 on 2016/11/14 by dan.reynolds AEOverview Stage 2 WIP - Added Command Line auto sub-level loading (-AELoadMap=MapName01,MapName02,etc.) or sub-level categories auto loading (-AELoadCat=AE,SC,STRM,AV,etc.) - Added Categorization menu to Main staging map to help sorting maps by category - Changed menu to be dynamically loaded from editable Data Structure Arrays, so all the menu information is loaded dynamically. Change 3197782 on 2016/11/14 by dan.reynolds AEOverview Stage 2 WIP - fixed misnamed sub-level reference, cleaned up some of the BP Change 3197801 on 2016/11/14 by dan.reynolds AEOverviewMain Stage 2 WIP: - Added Select All Buttom to select all loaded menu items Change 3197988 on 2016/11/15 by Thomas.Sarkanen Add the ability to use incompatible meshes with snapshots We now use a name-based mapping to copy local poses to the correct bones in the hierarchy, similar to CopyPoseFromMesh. No access to UObjects (components or meshes) is performed on worker threads. Bone names are all cached on the game thread when needed and used on worker threads. #jira UE-38413 - Pose snapshot cannot be used across meshes with different hierarchies Change 3198062 on 2016/11/15 by Thomas.Sarkanen Disabled threaded update on various anim blueprints to remove cook warnings #jira UE-38537 - Cooking FortniteGame results in warnings Change 3198071 on 2016/11/15 by Thomas.Sarkanen Fix default values not being available to change post anim BP compilation Make sure we re-select with force refresh on so the details panel is rebuilt even if the objects are the same (as the customization relies upon it). #jira UE-38518 - Animation Blueprint: Default values cannot be changed after compiling if node is currently selected Change 3198082 on 2016/11/15 by Jurre.deBaare CRASH If the Vertical Axis of a blendspace is set to 0 segments when an animation is on the blendspace the editor crashes #fix UI and ClampMin to 1 #jira UE-38587 Change 3198138 on 2016/11/15 by Thomas.Sarkanen Expose montage functions to Blueprint Made sure to flag appropriate functions as not thread safe. Also const-corrected a few functions that should be. Github #2918: Blueprint Callable Montage Set/Get Position #jira UE-38391 - GitHub 2918 : Blueprint Callable Montage Set/Get Position Change 3198141 on 2016/11/15 by Jurre.deBaare Crash from generated Merged Actor with no created lightmap UV #fix Always flag UV channel 0 to be occupied #jira UE-38520 Change 3198420 on 2016/11/15 by Thomas.Sarkanen Move thread-safety check flags to the UAnimBlueprint Then have the compiler propogate the flags to the CDO. Prevents issues where the old CDO wasnt propgated during compile-on-load. Also move blueprint usage warning flag into the UAnimBlueprint too, as these suffer from the same issues. #jira UE-38537 - Cooking FortniteGame results in warnings Change 3198485 on 2016/11/15 by Thomas.Sarkanen Properly fix compile-on-load/cook warnings about anim blueprint thread safety Content only re-save. #jira UE-38537 - Cooking FortniteGame results in warnings Change 3198622 on 2016/11/15 by Ben.Zeigler #jira UE-38632 Fix blueprint warning, was calling SetActive from construction script which is no longer allowed. This was being used for an editor-only debug feature [CL 3198987 by Marc Audy in Main branch]
2016-11-15 15:29:41 -05:00
NSLOCTEXT("Persona", "AppLabel", "Persona")
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602) ========================== MAJOR FEATURES + CHANGES ========================== Change 2946506 on 2016/04/18 by Steven.Hutton Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports. Change 3017807 on 2016/06/17 by Chris.Wood Improved Crash Report Process folder delete code as it could sometimes fail. [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also added logging to Slack when stop request received instead of just when stop is complete. Change 3019367 on 2016/06/20 by Chris.Wood Improve Crash Report Process logging to track bad reads from S3. Also, better logging when CleanReport fails to delete folders. Change 3019376 on 2016/06/20 by Steve.Robb Clarification of assert message and comments which talk about 'null' TFunctions. Tidy-up of dead code. Change 3019409 on 2016/06/20 by Steve.Robb New Find and FindByPredicate algorithms for finding stuff in arbitrary containers. Change 3022658 on 2016/06/22 by Chris.Wood Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11) [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also improved logging to Slack with better layout, fixed event ordering and counting duplicates. Change 3022840 on 2016/06/22 by Steve.Robb Skipped UHT attributes removed. Change 3022907 on 2016/06/22 by Robert.Manuszewski Fixing crash when adding a new C++ class to project #jira UE-32333 Change 3023169 on 2016/06/22 by Steve.Robb Checks for UTHINGs in skipped preprocessor blocks. Fixes for skipped UTHINGs and some other parsing accidents. #jira UE-31627 Change 3023239 on 2016/06/22 by Steve.Robb Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html Change 3026812 on 2016/06/24 by Mieszko.Zielinski Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4 Change 3028235 on 2016/06/27 by Robert.Manuszewski PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist) Change 3028282 on 2016/06/27 by Steve.Robb Fix for missing UFUNCTION check in skipped preprocessor blocks. #jira UE-31627 Change 3028284 on 2016/06/27 by Steve.Robb Debuggability improvements and coding standards changes. Change 3028343 on 2016/06/27 by Steve.Robb Fix for UHT error in WEX. #jira UE-32464 Change 3028393 on 2016/06/27 by Steve.Robb Fix for hot reload of enums finding the old enum. Fix to stop SPropertyEditorNumeric caching the enum flags. #jira UE-31658 Change 3030362 on 2016/06/28 by Robert.Manuszewski Fixing hang when cooking. Change 3030462 on 2016/06/28 by Steve.Robb Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild. #jira UE-32001 Change 3034341 on 2016/06/30 by Robert.Manuszewski Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report. Added 'debug twothreadsgpf' command to test the functionality. Change 3034342 on 2016/06/30 by John.Mahoney Fix for crash when loading an empty cached asset registry. #jira UE-32232 Change 3035599 on 2016/07/01 by Chris.Wood Added support for CrashType string to Crash Report Process. CRP v1.1.12 [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible. Added in missing crash context parameters that have been added to clients but not known by the server. Change 3035787 on 2016/07/01 by John.Mahoney Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h. #jira UE-30189 Change 3036933 on 2016/07/04 by Steve.Robb Proper forwarding constructor for FAsyncTask. Change 3036938 on 2016/07/04 by Steve.Robb Fix for CDO hot reload corrupting memory when replacing references inside structs. #jira UE-29335 Change 3036960 on 2016/07/04 by Steve.Robb Fix for FAnsiAllocator::ResizeAllocation when resizing to zero. Change 3037423 on 2016/07/05 by Steve.Robb FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool. Change 3037464 on 2016/07/05 by Steve.Robb HotReload.cpp cleanup: Deep nesting flattened. Linear array searches replaced with maps. FHotReloadModule::GetGameModules made into a non-member function and split into two. Comment and coding standard fixes. Change 3037741 on 2016/07/05 by John.Mahoney Fix for COTF not checking the correct timestamps on startup. #jira UE-31023 Change 3037846 on 2016/07/05 by Steve.Robb Fix for compile button disappearing on a bad compile. #jira UE-31575 Change 3037994 on 2016/07/05 by Steve.Robb Static analysis fixes: warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. Change 3039186 on 2016/07/06 by Robert.Manuszewski Enabling crash callstack logging by default. Change 3039220 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot warning C6001: Using uninitialized memory 'UserNameLength' warning C6001: Using uninitialized memory 'DomainNameLength' Change 3039230 on 2016/07/06 by Steve.Robb Fix for VC internal compiler errors. Change 3039237 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read. Change 3039287 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'. warning C6031: Return value ignored: 'CoCreateInstance'. Change 3039359 on 2016/07/06 by Graeme.Thornton Compile error fix for FAsyncTask, courtesy of SteveR Change 3039534 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects. Change 3039545 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value. Change 3039578 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3039623 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X' warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read. warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 3039630 on 2016/07/06 by John.Mahoney Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here. #jira UE-29123 Change 3039664 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. Change 3039673 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'. Change 3039690 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope. warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3040868 on 2016/07/07 by Graeme.Thornton Config based class stripping for server builds Change 3040872 on 2016/07/07 by Graeme.Thornton Remove "return false" NeedsLoadForServer functions from engine code Change 3040997 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Landscape'. warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'. warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'. Change 3041004 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent. Change 3041014 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3041111 on 2016/07/07 by Steve.Robb Removal of an obsolete error message about INI file case sensitivity. Change 3041150 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? Change 3041274 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'X'. Change 3041294 on 2016/07/07 by Chris.Wood Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14) [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length. Increased buffer size for decompression as this was sometimes too small. Modified S3 reading code to look for multiple records in each downloaded file. Change 3041472 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'. Change 3043074 on 2016/07/08 by John.Mahoney Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name. Fix for COTF GetFiles not handling absolute GameDir paths properly. #jira UE-31023 Change 3044461 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written. Change 3044470 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'. Change 3044476 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3044551 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did. Change 3044664 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'. warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did. warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'. warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read. Change 3044716 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read. Change 3044717 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did. This appears to be a false positive. Change 3044787 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'FbxObject'. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did. Change 3045933 on 2016/07/12 by Steve.Robb Overloading support for TSharedPtr, TSharedRef and TWeakPtr. Change 3045960 on 2016/07/12 by Robert.Manuszewski Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled. Change 3045963 on 2016/07/12 by Steve.Robb PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed. THasOperatorEquals and THasOperatorNotEquals traits moved to their own header. Change 3045967 on 2016/07/12 by Steve.Robb Initializer list support for TArray and TSet. Change 3045968 on 2016/07/12 by Robert.Manuszewski Fixing an ensure after typing 'stat dumphitches' in console. Change 3045992 on 2016/07/12 by Robert.Manuszewski Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure) Change 3047870 on 2016/07/13 by Steven.Hutton Updated CRW to entity framework with repository models. #rb none Change 3047871 on 2016/07/13 by Steven.Hutton Add repository models #rb none Change 3049468 on 2016/07/14 by Steven.Hutton Fix broken project files. #rb none #lockdown Nick.Penwarden [CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
});
ContextMarkers.Custom = -1;
// Try and match an existing context before adding our own
for (auto Iter = ContextDisplayNames.CreateConstIterator(); Iter; ++Iter)
{
if (SuppliedContext.EqualTo(*Iter))
{
SelectedContextIndex = Iter.GetIndex();
return;
}
}
// Add the supplied context to the list since it doesn't already exist
SelectedContextIndex = ContextMarkers.Custom = ContextDisplayNames.Num();
ContextDisplayNames.Add(SuppliedContext);
}
/** Called when the text on the feedback form is changed by the user */
void OnTextChanged(const FText& InLabel)
{
static const int32 MaxSize = 250;
FString TextString = InLabel.ToString();
if (TextString.Len() >= MaxSize)
{
FFormatNamedArguments Args;
Args.Add(TEXT("MaxSize"), MaxSize);
TextBox->SetError(FText::Format(LOCTEXT("TooLong", "Additional feedback must be fewer than {MaxSize} characters."), Args));
TextBox->SetText(FText::FromString(TextString.Left(MaxSize)));
}
else
{
TextBox->SetError(FText::GetEmpty());
}
}
/** @return the description text for the widget */
FText GetDescriptionText() const
{
static const FText ApplicationTitle = NSLOCTEXT("UnrealEditor", "ApplicationTitle", "Unreal Editor");
FFormatNamedArguments Args;
Args.Add(TEXT("Tool"), ApplicationTitle);
if (Mode == EFeedbackMode::Positive)
{
return FText::Format(LOCTEXT("Description_Positive", "We value your feedback. What part of {Tool} do you like?"), Args);
}
else
{
return FText::Format(LOCTEXT("Description_Negative", "We value your feedback. What could we improve about {Tool}?"), Args);
}
}
/** @return the combo box menu content */
TSharedRef<SWidget> GetComboBoxMenuContent()
{
const bool bShouldCloseWindowAfterMenuSelection = true, bCloseSelfOnly = true;
FMenuBuilder MenuBuilder(bShouldCloseWindowAfterMenuSelection, MakeShareable(new FUICommandList), TSharedPtr<FExtender>(), bCloseSelfOnly);
int8 MenuIndex = 0;
// --------------------------------
// General editing contexts
MenuBuilder.BeginSection(TEXT("UserFeedbackGeneral"), LOCTEXT("UserFeedbackCombo_General", "General:"));
{
for (; MenuIndex < ContextMarkers.FirstEditor; ++MenuIndex)
{
MenuBuilder.AddMenuEntry(ContextDisplayNames[MenuIndex], FText(), FSlateIcon(), FUIAction(FExecuteAction::CreateRaw(this, &SUserFeedbackWidget::SetCurrentContext, MenuIndex)));
}
}
MenuBuilder.EndSection();
// --------------------------------
// Asset editor contexts
MenuBuilder.BeginSection(TEXT("UserFeedbackAssets"), LOCTEXT("UserFeedbackCombo_Assets", "Asset Editors:"));
{
const int8 End = ContextMarkers.Custom == -1 ? ContextDisplayNames.Num() - 1 : ContextMarkers.Custom;
for (; MenuIndex < End; ++MenuIndex)
{
MenuBuilder.AddMenuEntry(ContextDisplayNames[MenuIndex], FText(), FSlateIcon(), FUIAction(FExecuteAction::CreateRaw(this, &SUserFeedbackWidget::SetCurrentContext, MenuIndex)));
}
}
MenuBuilder.EndSection();
// -----------------------------------------------------------------
// Add the custom context supplied by the client code, if applicable
if (ContextMarkers.Custom != -1)
{
MenuBuilder.BeginSection(TEXT("UserFeedbackCurrent"), LOCTEXT("UserFeedbackCombo_Current", "Current:"));
{
MenuBuilder.AddMenuEntry(ContextDisplayNames[ContextMarkers.Custom], FText(), FSlateIcon(), FUIAction(FExecuteAction::CreateRaw(this, &SUserFeedbackWidget::SetCurrentContext, ContextMarkers.Custom)));
}
}
MenuBuilder.EndSection();
return MenuBuilder.MakeWidget();
}
/** @return the text displayed on the combo box */
FText GetComboBoxText() const
{
return ContextDisplayNames[SelectedContextIndex];
}
/** Set the current context that the user wants to provide feedback for */
void SetCurrentContext(const int8 Context)
{
SelectedContextIndex = Context;
}
/** Called when the user intentionally closes the window */
FReply OnCloseButtonClicked()
{
OnCloseClicked.ExecuteIfBound();
return FReply::Handled();
}
/** Called when the user sends some feedback */
FReply OnFeedbackSubmitted()
{
// Get the current feedback text. Ensure the user actually typed something
FText UserFeedbackText = FText::TrimPrecedingAndTrailing( TextBox->GetText() );
if( !UserFeedbackText.IsEmpty() )
{
if (FEngineAnalytics::IsAvailable())
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602) ========================== MAJOR FEATURES + CHANGES ========================== Change 2946506 on 2016/04/18 by Steven.Hutton Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports. Change 3017807 on 2016/06/17 by Chris.Wood Improved Crash Report Process folder delete code as it could sometimes fail. [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also added logging to Slack when stop request received instead of just when stop is complete. Change 3019367 on 2016/06/20 by Chris.Wood Improve Crash Report Process logging to track bad reads from S3. Also, better logging when CleanReport fails to delete folders. Change 3019376 on 2016/06/20 by Steve.Robb Clarification of assert message and comments which talk about 'null' TFunctions. Tidy-up of dead code. Change 3019409 on 2016/06/20 by Steve.Robb New Find and FindByPredicate algorithms for finding stuff in arbitrary containers. Change 3022658 on 2016/06/22 by Chris.Wood Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11) [UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue Also improved logging to Slack with better layout, fixed event ordering and counting duplicates. Change 3022840 on 2016/06/22 by Steve.Robb Skipped UHT attributes removed. Change 3022907 on 2016/06/22 by Robert.Manuszewski Fixing crash when adding a new C++ class to project #jira UE-32333 Change 3023169 on 2016/06/22 by Steve.Robb Checks for UTHINGs in skipped preprocessor blocks. Fixes for skipped UTHINGs and some other parsing accidents. #jira UE-31627 Change 3023239 on 2016/06/22 by Steve.Robb Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html Change 3026812 on 2016/06/24 by Mieszko.Zielinski Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4 Change 3028235 on 2016/06/27 by Robert.Manuszewski PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist) Change 3028282 on 2016/06/27 by Steve.Robb Fix for missing UFUNCTION check in skipped preprocessor blocks. #jira UE-31627 Change 3028284 on 2016/06/27 by Steve.Robb Debuggability improvements and coding standards changes. Change 3028343 on 2016/06/27 by Steve.Robb Fix for UHT error in WEX. #jira UE-32464 Change 3028393 on 2016/06/27 by Steve.Robb Fix for hot reload of enums finding the old enum. Fix to stop SPropertyEditorNumeric caching the enum flags. #jira UE-31658 Change 3030362 on 2016/06/28 by Robert.Manuszewski Fixing hang when cooking. Change 3030462 on 2016/06/28 by Steve.Robb Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild. #jira UE-32001 Change 3034341 on 2016/06/30 by Robert.Manuszewski Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report. Added 'debug twothreadsgpf' command to test the functionality. Change 3034342 on 2016/06/30 by John.Mahoney Fix for crash when loading an empty cached asset registry. #jira UE-32232 Change 3035599 on 2016/07/01 by Chris.Wood Added support for CrashType string to Crash Report Process. CRP v1.1.12 [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible. Added in missing crash context parameters that have been added to clients but not known by the server. Change 3035787 on 2016/07/01 by John.Mahoney Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h. #jira UE-30189 Change 3036933 on 2016/07/04 by Steve.Robb Proper forwarding constructor for FAsyncTask. Change 3036938 on 2016/07/04 by Steve.Robb Fix for CDO hot reload corrupting memory when replacing references inside structs. #jira UE-29335 Change 3036960 on 2016/07/04 by Steve.Robb Fix for FAnsiAllocator::ResizeAllocation when resizing to zero. Change 3037423 on 2016/07/05 by Steve.Robb FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool. Change 3037464 on 2016/07/05 by Steve.Robb HotReload.cpp cleanup: Deep nesting flattened. Linear array searches replaced with maps. FHotReloadModule::GetGameModules made into a non-member function and split into two. Comment and coding standard fixes. Change 3037741 on 2016/07/05 by John.Mahoney Fix for COTF not checking the correct timestamps on startup. #jira UE-31023 Change 3037846 on 2016/07/05 by Steve.Robb Fix for compile button disappearing on a bad compile. #jira UE-31575 Change 3037994 on 2016/07/05 by Steve.Robb Static analysis fixes: warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. Change 3039186 on 2016/07/06 by Robert.Manuszewski Enabling crash callstack logging by default. Change 3039220 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot warning C6001: Using uninitialized memory 'UserNameLength' warning C6001: Using uninitialized memory 'DomainNameLength' Change 3039230 on 2016/07/06 by Steve.Robb Fix for VC internal compiler errors. Change 3039237 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read. Change 3039287 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'. warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'. warning C6031: Return value ignored: 'CoCreateInstance'. Change 3039359 on 2016/07/06 by Graeme.Thornton Compile error fix for FAsyncTask, courtesy of SteveR Change 3039534 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects. Change 3039545 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value. Change 3039578 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3039623 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X' warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read. warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written. warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did. Change 3039630 on 2016/07/06 by John.Mahoney Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here. #jira UE-29123 Change 3039664 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written. Change 3039673 on 2016/07/06 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'. Change 3039690 on 2016/07/06 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'X'. warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope. warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap. warning C6263: Using _alloca in a loop: this can quickly overflow stack. Change 3040868 on 2016/07/07 by Graeme.Thornton Config based class stripping for server builds Change 3040872 on 2016/07/07 by Graeme.Thornton Remove "return false" NeedsLoadForServer functions from engine code Change 3040997 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Landscape'. warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'. warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'. Change 3041004 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent. Change 3041014 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical. Change 3041111 on 2016/07/07 by Steve.Robb Removal of an obsolete error message about INI file case sensitivity. Change 3041150 on 2016/07/07 by Steve.Robb Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead? Change 3041274 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6001: Using uninitialized memory 'X'. Change 3041294 on 2016/07/07 by Chris.Wood Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14) [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length. Increased buffer size for decompression as this was sometimes too small. Modified S3 reading code to look for multiple records in each downloaded file. Change 3041472 on 2016/07/07 by Steve.Robb Static analysis fixes: warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed. warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'. Change 3043074 on 2016/07/08 by John.Mahoney Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name. Fix for COTF GetFiles not handling absolute GameDir paths properly. #jira UE-31023 Change 3044461 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written. Change 3044470 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'. Change 3044476 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'. Change 3044551 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did. Change 3044664 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'. warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did. warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'. warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read. Change 3044716 on 2016/07/11 by Steve.Robb Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read. Change 3044717 on 2016/07/11 by Steve.Robb Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did. This appears to be a false positive. Change 3044787 on 2016/07/11 by Steve.Robb Static analysis fixes: warning C6011: Dereferencing NULL pointer 'FbxObject'. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did. warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did. Change 3045933 on 2016/07/12 by Steve.Robb Overloading support for TSharedPtr, TSharedRef and TWeakPtr. Change 3045960 on 2016/07/12 by Robert.Manuszewski Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled. Change 3045963 on 2016/07/12 by Steve.Robb PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed. THasOperatorEquals and THasOperatorNotEquals traits moved to their own header. Change 3045967 on 2016/07/12 by Steve.Robb Initializer list support for TArray and TSet. Change 3045968 on 2016/07/12 by Robert.Manuszewski Fixing an ensure after typing 'stat dumphitches' in console. Change 3045992 on 2016/07/12 by Robert.Manuszewski Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure) Change 3047870 on 2016/07/13 by Steven.Hutton Updated CRW to entity framework with repository models. #rb none Change 3047871 on 2016/07/13 by Steven.Hutton Add repository models #rb none Change 3049468 on 2016/07/14 by Steven.Hutton Fix broken project files. #rb none #lockdown Nick.Penwarden [CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
TArray<FAnalyticsEventAttribute> Attributes = {
FAnalyticsEventAttribute(TEXT("Positive"), Mode == EFeedbackMode::Positive),
FAnalyticsEventAttribute(TEXT("Context"), ContextDisplayNames[SelectedContextIndex].ToString()),
FAnalyticsEventAttribute(TEXT("Comment"), TextBox->GetText().ToString())
};
FEngineAnalytics::GetProvider().RecordEvent(FString("Editor.Feedback.Submitted"), Attributes);
}
FNotificationInfo Info(LOCTEXT("FeedbackSent", "Thank you for sending us your feedback"));
Info.bUseLargeFont = false;
Info.bUseThrobber = false;
Info.bUseSuccessFailIcons = false;
Info.Image = FEditorStyle::GetBrush("NoBrush");
Info.ExpireDuration = 3.f;
FSlateNotificationManager::Get().AddNotification(Info);
bUserSentFeedback = true;
OnFeedbackSent.ExecuteIfBound();
}
else
{
TextBox->SetError( LOCTEXT("FeedbackErrorMessage", "Please provide some feedback") );
}
return FReply::Handled();
}
/** true when the user sent feedback, false when the popup was closed without sending feedback */
bool bUserSentFeedback;
/** Pointer to the editable text box on the widget */
TSharedPtr<SEditableTextBox> TextBox;
/** The current feedback mode (positive/negative) */
EFeedbackMode::Type Mode;
/** Delegates that are called when feedback is sent and when the close button is clicked */
FSimpleDelegate OnFeedbackSent, OnCloseClicked;
/** Animation sequence for loading ourselves */
FCurveSequence Sequence;
/** Display names for the context shown in the combo box */
TArray<FText> ContextDisplayNames;
/** Markers which specify the indices of the start of particular groups in the display name array */
struct
{
int8 FirstEditor; // The index of the first editor context
int8 Custom; // The index of the context supplied by the client code (-1 if invalid)
} ContextMarkers;
/** The currently selected context index */
int8 SelectedContextIndex;
};
/** A menu item in the feedback widget's menu */
class SUserFeedbackMenuItem : public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS( SUserFeedbackMenuItem )
: _MinWidth(0)
{}
SLATE_DEFAULT_SLOT(FArguments, Content)
SLATE_ATTRIBUTE(float, MinWidth)
SLATE_ATTRIBUTE(FText, Text)
SLATE_ARGUMENT(FName, Icon)
SLATE_ATTRIBUTE(EFeedbackMode::Type, Mode)
SLATE_ATTRIBUTE(const FSlateBrush*, ArrowBrush)
SLATE_END_ARGS()
/** Construct this menu item */
void Construct( const FArguments& InArgs )
{
MinWidth = InArgs._MinWidth;
TSharedRef<SWidget> IconWidget = SNullWidget::NullWidget;
if ( InArgs._Icon != NAME_None )
{
const FSlateBrush* IconBrush = FEditorStyle::GetOptionalBrush(InArgs._Icon);
if (IconBrush->GetResourceName() != NAME_None)
{
IconWidget =
SNew( SImage )
.Image(IconBrush);
}
}
ChildSlot
[
SNew( SHorizontalBox )
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(FMargin(2, 0, 2, 0))
[
SNew( SBox )
.WidthOverride(20)
.HeightOverride(20.f)
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
[
IconWidget
]
]
+ SHorizontalBox::Slot()
.FillWidth(1)
.Padding(FMargin(2, 0, 6, 0))
.VAlign(VAlign_Center)
[
SNew(STextBlock).Text(InArgs._Text)
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(FMargin(2, 0, 6, 0))
.VAlign(VAlign_Center)
.HAlign(HAlign_Right)
[
SNew(SImage).Image(InArgs._ArrowBrush)
]
];
}
/** Compute the desired size for this widget */
virtual FVector2D ComputeDesiredSize(float LayoutScaleMultiplier) const override
{
const float MinWidthVal = MinWidth.Get();
if (MinWidthVal == 0.0f)
{
return SCompoundWidget::ComputeDesiredSize(LayoutScaleMultiplier);
}
else
{
FVector2D ChildSize = ChildSlot.GetWidget()->GetDesiredSize();
return FVector2D(FMath::Max(MinWidthVal, ChildSize.X), ChildSize.Y );
}
}
private:
/** The minimum width of the menu item */
TAttribute<float> MinWidth;
};
/** Feedback widget button that is shown on tab bars */
class SUserFeedbackButtonWidget
: public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS(SUserFeedbackButtonWidget)
: _Context(){}
SLATE_ARGUMENT(FText, Context)
SLATE_END_ARGS()
/** Construct this widget
*
* @param InArgs The declaration data for this widget
*/
void Construct(const FArguments& InArgs)
{
Context = InArgs._Context;
ChildSlot
[
SAssignNew(ComboButton, SComboButton)
.ButtonStyle(FEditorStyle::Get(), "UserFeedback.Button")
.ToolTipText(LOCTEXT("UserFeedbackToolTip", "Send Quick Feedback"))
.HasDownArrow(false)
.MenuPlacement(EMenuPlacement::MenuPlacement_BelowAnchor)
.OnGetMenuContent(this, &SUserFeedbackButtonWidget::PopulateMenu)
.ContentPadding(0)
.ButtonContent()
[
SNew(SBox)
.WidthOverride(16)
.HeightOverride(16)
]
];
}
private:
void OpenFeedbackPopup(const EFeedbackMode::Type Mode)
{
auto FeedbackWidget = SNew(SBorder)
.BorderImage(FEditorStyle::GetBrush("Window.Border"))
.Padding(3)
[
SNew(SBox)
.WidthOverride(520.f)
[
SNew(SUserFeedbackWidget)
.Context(Context)
.Mode(Mode)
.OnFeedbackSent(this, &SUserFeedbackButtonWidget::ClosePopupWindow)
.OnCloseClicked(this, &SUserFeedbackButtonWidget::ClosePopupWindow)
]
]
;
auto ParentWindow = FSlateApplication::Get().FindWidgetWindow(AsShared()).ToSharedRef();
// Center ourselves in the parent window
auto PopupWindow = SAssignNew(PopupWindowPtr, SWindow)
.IsPopupWindow(false)
.SizingRule(ESizingRule::Autosized)
.AutoCenter(EAutoCenter::PreferredWorkArea)
.SupportsMaximize(false)
.SupportsMinimize(false)
.FocusWhenFirstShown(true)
Copying //UE4/Portal-Staging to Dev-Main (//UE4/Dev-Main) (Source: //Portal/Main @ 3352026) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3351920 on 2017/03/17 by Leigh.Swift #jira OPP-6870: [Crash] Assertion failed: ctx->ReadOffset + length <= (uint32)ctx->CompressedData.Num() [File:D:\Build\++Portal+Release-Live+Compile\Sync\Engine\Source\Runtime\ImageWrapper\Private\PngImageWrapper.cpp] [Line: 420] Instead of asserting for an incorrect data size for png image being loaded, set an error on the wrapper object. This will result in the slate brush rendering as white box, and errors going to the log which include the png resource path. Change 3350561 on 2017/03/16 by Justin.Sargent Updated the Slate standalone D3D renderer to be more fault tolerant. Added new HasLostDevice() function to SlateRenderer. If the launcher detects that it has lost the device context it will attempt to perform a full rebuild of the UI and Presentation layers, but also a full reboot of slate application and the renderer. The launcher will attempt to re-establish the device context for 5 minutes if not interrupted by the user. If the user interacts with the launcher while attempting to re-establish the device context it will instead pop up a system dialog explaining it is having issues with the video card and then will close the application. Change 3341299 on 2017/03/10 by Richard.Fawcett Validate JSON files as we're pushing to EMS Added a flexible validation framework to the system files (EMS) sync operation. Implemented a JSON validator which by default will validate .json files. Adds a "ValidationRules" property to the EMS sync config file to allow each product to define its own regex patterns for filenames which should be validated with each validator. Configured launcher's EMS to validate .product, .v?product, .layout, .sdmeta and .panel files as JSON. The great news is that this validation actually discovered a minor syntactical issue with Wex.v2product during testing, which is also fixed with this submission. \o/ #epicfriday Change 3336908 on 2017/03/08 by Leigh.Swift #jira OPP-5126: All disk size checks for BPS installations should be handled internally to BPS, the Portal code should not need to check this and can only do so less accurately. Removing disk space checks from portal code which block installers from running. NB: There is still a check in selective download code which provides tooltip information only. Moving BuildPatchInstaller disk size check to the file constructor, which is the class that most accurately knows the required amount of space. The disk check now occurs after resume and just before we start to write data. A secondary disk check is also made if a file fails to construct so that we can detect problems caused by change in available disk space. Disk space error message extended to include useful information for the user. Change 3323366 on 2017/02/27 by Richard.Fawcett Fix reference to Newtonsoft in Publishing.Automation. Change 3323205 on 2017/02/27 by Wes.Fudala Adding language support to the windows installer. Significantly expandes OneSky upload functionality. OPP-5438 Launcher installer should support the same language set supported by the launcher. Change 3316926 on 2017/02/22 by Richard.Fawcett Prevent Amazon S3 download glitches from issuing warnings until half of the maximum retries have been attempted. In practice, when we download thousands of files, we _do_ get failures which need to be retried. This means that pretty much all jobs result in warnings, which isn't appropriate. This should turn jobs green again, and only warn us when things look unusual. #jira OPP-6607 Change 3315996 on 2017/02/21 by Justin.Sargent Incrementing Portal version number I'm incrementing this earlier than normal due to a need to depend on a new version number for EMS layout change versioning. Change 3312760 on 2017/02/20 by Wes.Fudala Users can now select desired environment/region from the UI. New login screen. Adds slid out settings menu to login screen. Adds region and language selection to the settings menu. Adds support for PortalRegions ini. Adds DefaultPortalRegions ini. Adds RegionRepository, RegionPublisher, RegionSelectService, and RegionIdentificationService. Adds region select option in debugtools general section. Adds RegionSelectService unit test with associated mocks. Changes the way all backend connections are configured so that values are now pulled from config files. Renames product region selector files to avoid some confusion with portal region files. Updated EmsConfigUpdater and HotfixManager so they support optional overwrite and save of ini files. Region publisher now restricts regions that require permissions in shipping builds. Fixes a bug causing items to get stuck in the download queue UI after we failed to obtain a manifest when reaching out the the backend. #jira OPP-6121, OPP-5809 Change 3311664 on 2017/02/20 by Andrew.Brown Added GetTypeHash support for FDelegateHandle Change 3311505 on 2017/02/20 by Richard.Fawcett Rename/move file(s) Change 3309004 on 2017/02/17 by Chad.Garyet adding in additional platforms for the BuildPlugin commandline Change 3299188 on 2017/02/13 by Leigh.Swift #jira OPP-6711: [CRASH] Assertion failed: IsComplete() Race condition in portal hack allowed an installer to attempt to execute complete delegate before being complete. Change 3294197 on 2017/02/09 by Richard.Fawcett Adding ValidPrereqIds.json This is needed now because the script to enforce correct prereq ids reaches out to Perforce to access this file! #jira OPP-6583 Change 3294059 on 2017/02/09 by Richard.Fawcett Fix comment on PostBuild parameter to reference correct name of "Manifest" property. Change 3293377 on 2017/02/08 by Richard.Fawcett Remove need for a metadata file containing name of generated manifest when using randomized manifest filenames. Change 3282865 on 2017/02/02 by Richard.Fawcett Simplify params to BuildGraph's ChunkTask / PostBuildTask Also, downgrade warnings to simple log messages when falling back to legacy manifest filename construction to ease transition into randomized manifest filenames for game teams. #jira OPP-6435 Change 3282809 on 2017/02/02 by Leigh.Swift #jira OPP-6564: BPT will crash if the FileIgnoreList input instructs the build streamer to ignore every build file. A race condition for getting to the first scanner creation code, vs the build stream exiting with no data. If the former wins, a scanner will be created without enough data to scan. Scanners are now no longer created if the buildstream provided no data. Change 3280848 on 2017/02/01 by Leigh.Swift #jira OPP-3864: BuildPatchServices will log a FATAL error on shutdown even if it's fine to be shutting down. When BPS is shutdown, it will only set error states and cancellation logic if any installers are actually created. Change 3280839 on 2017/02/01 by Leigh.Swift Fixing whitespace damage incoming from Dev-Staging Change 3280820 on 2017/02/01 by Andrew.Brown Copying //Portal/Dev-Main-Staging to Main (//Portal/Main) Change 3280797 on 2017/02/01 by Leigh.Swift #jira OPP-6649: BPS sends undocumented analytics events. Adding documentation for the following events: Patcher.Error.Download Patcher.Warning.ChunkAborted Patcher.Error.Cache Patcher.Error.Construction Patcher.Error.Prerequisites Change 3278887 on 2017/01/31 by Richard.Fawcett Downgrade cleanup warnings to normal log output. The conditions which used to trigger these warnings are now considered to be normal behavior, in a world in which we carry out cross-app game promotions. This results in a perma-yellow state for cleanup, which is unhelpful. #nojira Change 3278738 on 2017/01/31 by Richard.Fawcett Tweak Conan launch parameters Change 3277066 on 2017/01/30 by Richard.Fawcett Remove temporary code which cleans up P:\Builds\UnrealEngineLauncher\BuildGraph, as the location no longer exists. Change 3274907 on 2017/01/27 by Leigh.Swift #jira OPP-6615: Receiving a whisper while in game may minimize game client. Refactoring SWindow ActivateOnFirstShown bool to be ActivationPolicy to give more accurate control. This also allows fixing of misuses of previous ActivateOnFirstShown variables in the implementations, which appear to mostly be interpreting it as 'AlwaysActivate'. The upgrade path is therefore ActivateOnFirstShown true/false becomes ActivationPolicy Always/Never. Moving initial minimize and maximise logic for FWindowsWindow into the Show() call on first show to gain control of activation and respect the provided policy. Refactoring existing uses to use the new variables/functions instead. The refactor of existing code is focused on preserving current always activate behaviour as opposed to changing behaviour to actually only activate on first show. Change 3273466 on 2017/01/26 by Alex.Fennell New build of OpenSSL libraries #JIRA OPP-6408 PriceEngine configuration and fixes for bugs it introduced. Change 3268045 on 2017/01/23 by Richard.Fawcett Re-adding Funcom folk to Conan chunk notification emails Change 3267709 on 2017/01/23 by Richard.Fawcett Fix launch arguments for Conan Exiles editor. Temporarily remove FunCom recipients from notification list to avoid spamming. Change 3265774 on 2017/01/20 by Chad.Garyet Merge of Engine/Build/Buildfarm over to //Portal from Dev-Build Change 3264674 on 2017/01/19 by Alex.Fennell On demand catalog requests Change 3263654 on 2017/01/19 by Leigh.Swift #jira OPP6562: Support looking up tagging and sdmeta info and using it in build diff output Adding tag use understanding to the manifest diff tool of BPT. Adding Selective Download feature support to PPT for it's diff tool, making use of portal's metadata for the feature. Change 3263623 on 2017/01/19 by Richard.Fawcett Fix issue where ManifestFilename is not always available at post build time. #jira OPP-6606 Change 3262013 on 2017/01/18 by Richard.Fawcett Remote potential for success email being sent on third party chunk failure Change 3261914 on 2017/01/18 by Richard.Fawcett Fix for user content generation job not specifying a manifest filename. Change 3261800 on 2017/01/18 by Richard.Fawcett Implement streaming S3 downloads to disk, rather than just to memory This is needed because C# has a 2 billion maximum array dimension, so files > 2GB can't be downloaded using the existing code. Change 3261675 on 2017/01/18 by Richard.Fawcett Support for overriding, or generating randomized unique manifest filenames to avoid automated harvesting from CDN BuildGraph's ChunkTask takes three new parameters ... * ManifestFilename (string) - The filename of the manifest to produce. If omitted, the value of RandomizeManifestFilename will determine how the manifest filename is determined. * RandomizeManifestFilename (bool) - If true, we'll generate a random, unique manifest filename. If false (default), we'll use legacy behavior of combining app name and build version. * LocalManifestDir (string) - Required if RandomizedManifestFilename is true. This directory will receive local copies of any manifest file produced, and a metadata file containing the name of the most recently produced manifest BuildGraph's PostBuildTask takes two new parameters ... * ManifestFilename (string) - The filename of the manifest to post. If omitted, we'll use the value from the metadat file in LocalManifestDir is this is set, otherwise use legacy behavior. * LocalManifestDir (string) - A directory containing local copies of manifest files, along with a metadata file containing the name of the manifest file produced by the most recent ChunkTask operation. Support added to the launcher build script's to use the new parameters to randomize its manifest filename, and post the randomized filename to MCP. Use of a contructor of BuildPatchToolStagingInfo which does not specify a manifest filename is now considered deprecated, and will output a warning. Remove requirement of having a BuildPatchToolStagingInfo when performing a chunking operation, instead just passing in the specific values we need from it as parameters in their own right. Remove support for non-chunk based manifests from C# wrapper, as these are no longer supported in BuildPatchTool itself. #jira OPP-6432 Change 3261647 on 2017/01/18 by Leigh.Swift Adding some cleanup to the end of some BPT functional tests so that they do not affect proceeding tests and cause red-herring warning output. Change 3261639 on 2017/01/18 by Richard.Fawcett Update app name of Conan to ConanExiles to match back-end catalog. Fix Conan launch exe and args so that launcher can detect when product is running. Was previously using a batch file which terminates after launching editor. Change 3258815 on 2017/01/16 by Wes.Fudala UTM and product info will be parsed from installer name and passed to the launcher. UTM info will be passed along as part of all analytics events. #jira OPP-6404: Add user funnel tracking Change 3258809 on 2017/01/16 by Wes.Fudala Back out changelist 3258800. Backing out changes that were intended to be made in a different stream. Change 3258800 on 2017/01/16 by Wes.Fudala App version is now also appended to user agent string. Change 3256999 on 2017/01/13 by Richard.Fawcett Fix issue where JSON file included in Publishing csproj is not reliably copied to output folder on build farm. Change 3256941 on 2017/01/13 by Richard.Fawcett Move configuration for Third Party build pipeline out of code and into its own configuration file. #epicfriday Change 3255072 on 2017/01/12 by Richard.Fawcett Add additional logging around multithreaded upload of files to S3. Fix bug ensuring that the failure of any single part of multi-part upload results in the whole file being failed. #jira OPP-6392 Change 3253672 on 2017/01/11 by Richard.Fawcett Add support for third-party Conan editor. Alter third party process so it doesn't crash if version.txt doesn't already exist in the third party S3 bucket, to allow us to setup in advance of third party publishing their first version. Change 3251901 on 2017/01/10 by Barnabas.McManners Compile fix on mac, fix for hidden method in AutomationTest define. Without this GoogleMock.spec.cpp wont compile on mac. #nojira #ReviewedBy Leigh.Swift Change 3250907 on 2017/01/09 by Justin.Sargent Changed the automation controller to uses a non-zero exit code when performing a 'quit' command if tests failed. Change 3245328 on 2017/01/03 by Justin.Sargent Enabling the logic to lowercase all C++ members exposed to javascript. Added additional to-lowering behavior to UObject binding. #jira OPP-6494 Change 3240667 on 2016/12/20 by Andrew.Brown Copying //Tasks/Portal/Dev-OPP-6109-DedicatedServer to Dev-Main (//Portal/Dev-Main) Change 3236972 on 2016/12/15 by Bob.Ferreira Updating compliation changes for AutomationDriver Change 3236567 on 2016/12/15 by Richard.Fawcett Ensure that third party product chunking uses latest CL across our P4 depot in its version number. Change 3236188 on 2016/12/15 by Richard.Fawcett Combine all launcher purchases into single workflow using the new quickPurchase API call as the initial request. #jira OPP-6257 Change 3231134 on 2016/12/12 by Alex.Fennell Improving fail case handling for the waiting room service #jira OPP-5648 Change 3228514 on 2016/12/09 by Richard.Fawcett Change filetype Change 3227080 on 2016/12/08 by Barnabas.McManners Merging CL 3226840 from Dev Editor Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself #jira OPP-6485 Change 3219810 on 2016/12/02 by Ben.Marsh UAT: Fix unzip output being completely discarded. Switch it to just be verbose instead. Change 3219602 on 2016/12/02 by Ben.Marsh Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful. [CL 3355309 by Justin Sargent in Main branch]
2017-03-20 18:49:23 -04:00
.ActivationPolicy(EWindowActivationPolicy::Always)
.Content()
[
FeedbackWidget
];
FSlateApplication::Get().AddWindowAsNativeChild(PopupWindow, ParentWindow, true );
}
/** Close the popup window if it still exists */
void ClosePopupWindow()
{
auto PopupWindow = PopupWindowPtr.Pin();
if (PopupWindow.IsValid())
{
PopupWindow->RequestDestroyWindow();
}
}
/** Populate the menu */
TSharedRef<SWidget> PopulateMenu()
{
const bool bShouldCloseWindowAfterMenuSelection = false;
FMenuBuilder MenuBuilder(bShouldCloseWindowAfterMenuSelection, MakeShareable(new FUICommandList));
MenuBuilder.AddMenuEntry(LOCTEXT("SendPositiveFeedback", "Send Positive Feedback"), FText(), FSlateIcon(FEditorStyle::GetStyleSetName(), "UserFeedback.PositiveIcon"), FUIAction(FExecuteAction::CreateSP(this, &SUserFeedbackButtonWidget::OpenFeedbackPopup, EFeedbackMode::Positive)));
MenuBuilder.AddMenuEntry(LOCTEXT("SendNegativeFeedback", "Send Negative Feedback"), FText(), FSlateIcon(FEditorStyle::GetStyleSetName(), "UserFeedback.NegativeIcon"), FUIAction(FExecuteAction::CreateSP(this, &SUserFeedbackButtonWidget::OpenFeedbackPopup, EFeedbackMode::Negative)));
MenuBuilder.AddMenuSeparator();
MenuBuilder.AddMenuEntry(LOCTEXT("AskOnUDN", "Ask a question..."), FText(), FSlateIcon(), FUIAction(FExecuteAction::CreateSP(this, &SUserFeedbackButtonWidget::VisitSupportSite)));
return MenuBuilder.MakeWidget();
}
/** Visit UDN */
void VisitSupportSite()
{
FString SupportWebsiteURL;
if(FUnrealEdMisc::Get().GetURL( TEXT("AskAQuestionURL"), SupportWebsiteURL, true ))
{
FPlatformProcess::LaunchURL( *SupportWebsiteURL, NULL, NULL );
}
}
/** The context to open the popup in (supplied by the client code) */
FText Context;
/** The combo button that opens up the main menu */
TSharedPtr<SComboButton> ComboButton;
/** Weak ptr to the popup window */
TWeakPtr<SWindow> PopupWindowPtr;
};
/** User feedback module, loaded dynamically at startup */
class FUserFeedbackModuleImpl : public IUserFeedbackModule
{
public:
/** Create a widget which allows the user to send positive or negative feedback about a feature */
virtual TSharedRef<SWidget> CreateFeedbackWidget(FText Context) const override
{
if (FEngineAnalytics::IsAvailable() )
{
Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG. Other Updates: - The WidgetReflector is now in its own module as well. It will be converted to a plug-in later. - The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed. - Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed. - Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.) Upgrade Notes: - The Slate Remote Server is currently disabled - will be re-enabled shortly! - If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file. - If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore' - The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed - IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget() Troubleshooting: - After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project - If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore' - If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine [CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
return SNew(SHorizontalBox)
+ SHorizontalBox::Slot()
.Padding(0.0f, 0.0f, 0.0f, 0.0f)
.VAlign(VAlign_Center)
[
SNew(SUserFeedbackButtonWidget).Context(Context)
];
}
else
{
return SNullWidget::NullWidget;
}
}
};
IMPLEMENT_MODULE( FUserFeedbackModuleImpl, UserFeedback )
#undef LOCTEXT_NAMESPACE