Skip to content

Commit 2e7f5e7

Browse files
authored
[DX-1939] fixed compiler errors encountered in unreal engine 5.4 (#97)
* fix: apdated code to new c++ standard * fix: fixed text formating * chore: minor method improvement * fix: reworked labmda's capture * fix: moved template method implementation to header file
1 parent 8c94880 commit 2e7f5e7

8 files changed

+17
-24
lines changed

Source/Immutable/Private/Immutable/ImmutableDataTypes.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ FString FImmutablePassportInitData::ToJsonString() const
1717
}
1818
// Remove redirectUri field if it's empty so that the bridge doesn't try to
1919
// use it
20-
if (Wrapper.JsonObject->HasField("redirectUri") && Wrapper.JsonObject->GetStringField("redirectUri").IsEmpty())
20+
if (Wrapper.JsonObject->HasField(TEXT("redirectUri")) && Wrapper.JsonObject->GetStringField(TEXT("redirectUri")).IsEmpty())
2121
{
22-
Wrapper.JsonObject->RemoveField("redirectUri");
22+
Wrapper.JsonObject->RemoveField(TEXT("redirectUri"));
2323
}
2424
Wrapper.JsonObjectToString(OutString);
2525

Source/Immutable/Private/Immutable/ImmutablePassport.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ void UImmutablePassport::HasStoredCredentials(const FImtblPassportResponseDelega
188188
{
189189
// we do check credentials into two steps, we check accessToken and then IdToken
190190
// check access token
191-
CallJS(ImmutablePassportAction::GetAccessToken, TEXT(""), ResponseDelegate, FImtblJSResponseDelegate::CreateLambda([=](FImtblJSResponse Response)
191+
CallJS(ImmutablePassportAction::GetAccessToken, TEXT(""), ResponseDelegate, FImtblJSResponseDelegate::CreateLambda([this, ResponseDelegate](FImtblJSResponse Response)
192192
{
193193
FString AccessToken;
194194

Source/Immutable/Private/Immutable/ImmutableRequests.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ FString FImxBatchNftTransferRequest::ToJsonString() const
3939
return "";
4040
}
4141

42-
if (Wrapper.JsonObject->HasField("nftTransferDetails"))
42+
if (Wrapper.JsonObject->HasField(TEXT("nftTransferDetails")))
4343
{
4444
const auto Writer = TJsonWriterFactory<TCHAR, TCondensedJsonPrintPolicy<TCHAR>>::Create(&OutString);
45-
FJsonSerializer::Serialize(Wrapper.JsonObject->GetArrayField("nftTransferDetails"), Writer);
45+
FJsonSerializer::Serialize(Wrapper.JsonObject->GetArrayField(TEXT("nftTransferDetails")), Writer);
4646
IMTBL_LOG("FImxBatchNftTransferRequest Serialised: %s", *OutString);
4747
Writer->Close();
4848
}

Source/Immutable/Private/Immutable/ImmutableSubsystem.cpp

-10
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,6 @@ void UImmutableSubsystem::Deinitialize()
5656
Super::Deinitialize();
5757
}
5858

59-
template <class UserClass>
60-
#if (ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1)
61-
void UImmutableSubsystem::WhenReady(UserClass* Object, typename FImmutableSubsystemReadyDelegate::FDelegate::TMethodPtr<UserClass> Func)
62-
#else
63-
void UImmutableSubsystem::WhenReady(UserClass* Object, typename FImmutableSubsystemReadyDelegate::FDelegate::TUObjectMethodDelegate<UserClass>::FMethodPtr Func)
64-
#endif
65-
{
66-
OnReady.AddUObject(Object, Func);
67-
}
68-
6959
void UImmutableSubsystem::OnBridgeReady()
7060
{
7161
// When the bridge is ready our subsystem is ready to be used by game code.

Source/Immutable/Private/Immutable/ImtblBrowserWidget.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ bool UImtblBrowserWidget::IsPageLoaded() const
6060
{
6161
#if USING_BUNDLED_CEF
6262
return WebBrowserWidget.IsValid() && WebBrowserWidget->IsLoaded();
63-
#endif
63+
#else
6464
return false;
65+
#endif
6566
}
6667

6768
void UImtblBrowserWidget::ExecuteJS(const FString& ScriptText) const

Source/Immutable/Public/Immutable/ImmutableRequests.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#pragma once
22

3+
#include "ImmutableDataTypes.h"
34

45
#include "ImmutableRequests.generated.h"
56

@@ -48,7 +49,7 @@ struct IMMUTABLE_API FImxBatchNftTransferRequest
4849
GENERATED_BODY()
4950

5051
UPROPERTY()
51-
TArray<FNftTransferDetails> nftTransferDetails;
52+
TArray<struct FNftTransferDetails> nftTransferDetails;
5253

5354
FString ToJsonString() const;
5455
};

Source/Immutable/Public/Immutable/ImmutableSubsystem.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,17 @@ class IMMUTABLE_API UImmutableSubsystem : public UGameInstanceSubsystem
3131

3232
bool IsReady() const { return bIsReady; }
3333

34-
// FOnGameViewportTick& OnGameViewportTick() { return GameViewportTickEvent; }
35-
3634
// Execute a delegate when the subsystem is ready (i.e.: when the browser is
3735
// running and the Immutable SDK game bridge has loaded).
3836
template <class UserClass>
3937
#if (ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1)
40-
void WhenReady(UserClass* Object, typename FImmutableSubsystemReadyDelegate::FDelegate::TMethodPtr<UserClass> Func);
38+
void WhenReady(UserClass* Object, typename FImmutableSubsystemReadyDelegate::FDelegate::TMethodPtr<UserClass> Func)
4139
#else
42-
void WhenReady(UserClass* Object, typename FImmutableSubsystemReadyDelegate::FDelegate::TUObjectMethodDelegate<UserClass>::FMethodPtr Func);
40+
void WhenReady(UserClass* Object, typename FImmutableSubsystemReadyDelegate::FDelegate::TUObjectMethodDelegate<UserClass>::FMethodPtr Func)
4341
#endif
42+
{
43+
OnReady.AddUObject(Object, Func);
44+
}
4445

4546
private:
4647
UPROPERTY()

Source/Immutable/Public/Immutable/ImtblJSMessages.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ struct IMMUTABLE_API FImtblResponseError
3535
UPROPERTY()
3636
FString errorMessage;
3737

38-
FString ToString()
38+
FString ToString() const
3939
{
4040
const FString ErrType = StaticEnum<EImtblPassportError>()->GetNameStringByValue(static_cast<int8>(errorType));
4141
return ErrType == "" ? errorMessage : ErrType + ": " + errorMessage;
@@ -110,8 +110,8 @@ struct IMMUTABLE_API FImtblJSResponse
110110
FString Error;
111111
if (JSResponse.JsonObject.IsValid())
112112
{
113-
JSResponse.JsonObject->TryGetNumberField("errorType", ErrType);
114-
JSResponse.JsonObject->TryGetStringField("error", Error);
113+
JSResponse.JsonObject->TryGetNumberField(TEXT("errorType"), ErrType);
114+
JSResponse.JsonObject->TryGetStringField(TEXT("error"), Error);
115115
}
116116
JSResponse.Error = FImtblResponseError{static_cast<EImtblPassportError>(ErrType), Error};
117117
}

0 commit comments

Comments
 (0)