Skip to content

Commit 81c0d01

Browse files
Merge pull request #247 from 0xsequence/240-pluginmanager-returns-a-nullptr-on-windows
240 pluginmanager returns a nullptr on windows
2 parents 7dc96f8 + b8dfba9 commit 81c0d01

6 files changed

Lines changed: 29 additions & 20 deletions

File tree

Plugins/SequencePlugin/Source/SequencePlugin/Private/GeneralTesting.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,8 @@ void AGeneralTesting::TestHistory() const
284284
FSeqGetTransactionHistoryArgs args;
285285
args.filter.accountAddress = Api->GetWalletAddress();
286286
args.includeMetaData = true;
287-
args.page->page = 0;
288-
args.page->more = true;
287+
args.page.page = 0;
288+
args.page.more = true;
289289
Api->GetTransactionHistory(args,GenericSuccess,GenericFailure);
290290
}
291291
}

Plugins/SequencePlugin/Source/SequencePlugin/Private/SequenceRPCManager.cpp

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,25 @@ void USequenceRPCManager::SendIntent(const FString& Url, TFunction<FString(TOpti
100100

101101
FString USequenceRPCManager::GetPluginVersion()
102102
{
103-
const TSharedPtr<IPlugin> Plugin = IPluginManager::Get().FindPlugin(TEXT("SequencePlugin"));
104-
if (Plugin.IsValid())
105-
{
106-
return Plugin->GetDescriptor().VersionName;
107-
}
108-
else
103+
// Get the PluginManager instance
104+
IPluginManager& PluginManager = IPluginManager::Get();
105+
106+
// Find the plugin by name
107+
TSharedPtr<IPlugin> SequencePlugin = PluginManager.FindPlugin(TEXT("SequencePlugin"));
108+
109+
// Check if the plugin was found
110+
if (SequencePlugin.IsValid())
109111
{
110-
UE_LOG(LogTemp, Error, TEXT("[Failed to find Sequence Plugin, Unknown version]"));
111-
return FString("UNKNOWN");
112+
// Retrieve the descriptor, which includes metadata such as the version
113+
const FPluginDescriptor& Descriptor = SequencePlugin->GetDescriptor();
114+
115+
// Return the version string
116+
return Descriptor.VersionName;
112117
}
118+
119+
// Return a default value if the plugin is not found
120+
UE_LOG(LogTemp, Error, TEXT("[Failed to find Sequence Plugin, Unknown version]"));
121+
return TEXT("Plugin not found");
113122
}
114123

115124
FString USequenceRPCManager::BuildGetFeeOptionsIntent(const FCredentials_BE& Credentials, const TArray<TransactionUnion>& Transactions, TOptional<int64> CurrentTime) const

Plugins/SequencePlugin/Source/SequencePlugin/Private/SequenceRPCManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class SEQUENCEPLUGIN_API USequenceRPCManager : public UObject
5151
*/
5252
bool PreserveSessionWallet = false;
5353

54-
inline const static FString WaaSVersion = FString(TEXT("1.0.0 (Unreal ")).Append(USequenceRPCManager::GetPluginVersion()).Append(TEXT(")"));
54+
inline const static FString WaaSVersion = FString(TEXT("1.0.0 (Unreal ")).Append(GetPluginVersion()).Append(TEXT(")"));
5555

5656
inline const static FString WaaSAuthenticatorIntentsUrlPath = TEXT("/rpc/WaasAuthenticator/SendIntent");
5757
inline const static FString WaaSAuthenticatorRegisterUrlPath = TEXT("/rpc/WaasAuthenticator/RegisterSession");

Plugins/SequencePlugin/Source/SequencePlugin/Private/Tests/IndexerTests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ void GetTransactionHistoryTest(UIndexer* Indexer, TFunction<void(FString)> OnSuc
194194
FSeqGetTransactionHistoryArgs Args;
195195
Args.filter.accountAddress = "0x0E0f9d1c4BeF9f0B8a2D9D4c09529F260C7758A2";
196196
Args.includeMetaData = true;
197-
Args.page->page = 0;
198-
Args.page->more = true;
197+
Args.page.page = 0;
198+
Args.page.more = true;
199199
Indexer->GetTransactionHistory(GTestingChainID, Args, GenericSuccess, GenericFailure);
200200
}
201201

Plugins/SequencePlugin/Source/SequencePlugin/Public/Indexer/Structs/SeqGetTokenSuppliesArgs.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ struct SEQUENCEPLUGIN_API FSeqGetTokenSuppliesArgs
1515
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Default")
1616
bool includeMetaData = false;
1717
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Default")
18-
TOptional<FSeqPage> page;
18+
FSeqPage page;
1919

2020
bool customGetter = true;
2121
FString GetArgs() {
@@ -24,10 +24,10 @@ struct SEQUENCEPLUGIN_API FSeqGetTokenSuppliesArgs
2424
JsonObject->SetStringField("contractAddress", contractAddress);
2525
JsonObject->SetBoolField("includeMetaData", includeMetaData);
2626

27-
if (page.IsSet())
27+
if (page.containsData())
2828
{
2929
TSharedPtr<FJsonObject> PageObject = MakeShared<FJsonObject>();
30-
FJsonObjectConverter::UStructToJsonObject(FSeqPage::StaticStruct(), &(page.GetValue()), PageObject.ToSharedRef(), 0, 0);
30+
FJsonObjectConverter::UStructToJsonObject(FSeqPage::StaticStruct(), &(page), PageObject.ToSharedRef(), 0, 0);
3131
JsonObject->SetObjectField("page", PageObject);
3232
}
3333

Plugins/SequencePlugin/Source/SequencePlugin/Public/Indexer/Structs/SeqGetTransactionHistoryArgs.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ struct SEQUENCEPLUGIN_API FSeqGetTransactionHistoryArgs
1515
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Default")
1616
FSeqTransactionHistoryFilter filter;
1717
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Default")
18-
TOptional<FSeqPage> page;
18+
FSeqPage page;
1919
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Default")
2020
bool includeMetaData = false;
2121

@@ -25,12 +25,12 @@ struct SEQUENCEPLUGIN_API FSeqGetTransactionHistoryArgs
2525
FString ret = "{";
2626
ret.Append("\"filter\":");
2727
ret.Append(filter.GetArgs());//get the args! MUST Have this!
28-
if (page.IsSet())
28+
if (page.containsData())
2929
{
3030
ret.Append(".\"page\":");
31-
ret.Append(page.GetValue().GetArgs());
31+
ret.Append(page.GetArgs());
3232
TSharedPtr<FJsonObject> PageObject = MakeShared<FJsonObject>();
33-
FJsonObjectConverter::UStructToJsonObject(FSeqPage::StaticStruct(), &(page.GetValue()), PageObject.ToSharedRef(), 0, 0);
33+
FJsonObjectConverter::UStructToJsonObject(FSeqPage::StaticStruct(), &page, PageObject.ToSharedRef(), 0, 0);
3434

3535
}
3636

0 commit comments

Comments
 (0)