Files
UnrealEngineUWP/Engine/Source/Developer/Merge/Private/SMergeTreeView.h
Phillip Kavan 23c422eae6 [UE-10016] Fix BP merge tool crash when attempting to view component diffs.
change summary:
- switched the SCSViews array type to be a TSharedRef<FSCSDiff> in SMergeTreeView; previously the FSCSDiff instance was passed to TArray::Push() as a temporary, which i think didn't increment the refcount of FSCSDiff's internal widget ptrs on the shallow copy to the new element.

[CL 2454047 by Phillip Kavan in Main branch]
2015-02-20 17:26:02 -05:00

38 lines
1.0 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "BlueprintMergeData.h"
#include "SCSDiff.h"
class SMergeTreeView : public SCompoundWidget
{
public:
virtual ~SMergeTreeView() {}
SLATE_BEGIN_ARGS(SMergeTreeView)
{}
SLATE_END_ARGS()
void Construct( const FArguments InArgs
, const FBlueprintMergeData& InData
, FOnMergeNodeSelected SelectionCallback
, TArray< TSharedPtr<FBlueprintDifferenceTreeEntry> >& OutTreeEntries
, TArray< TSharedPtr<FBlueprintDifferenceTreeEntry> >& OutRealDifferences
, TArray< TSharedPtr<FBlueprintDifferenceTreeEntry> >& OutConflicts);
private:
void HighlightDifference( FSCSIdentifier VarName, FPropertySoftPath Property );
TSharedRef<FSCSDiff>& GetRemoteView();
TSharedRef<FSCSDiff>& GetBaseView();
TSharedRef<FSCSDiff>& GetLocalView();
FBlueprintMergeData Data;
TArray< TSharedRef<FSCSDiff> > SCSViews;
FSCSDiffRoot MergeConflicts;
int CurrentMergeConflict;
FSCSDiffRoot DifferingProperties;
int CurrentDifference;
};