Skip to content

Commit 46aab8c

Browse files
committed
fix windows crash bugs
1 parent dd3117d commit 46aab8c

4 files changed

Lines changed: 13 additions & 2 deletions

File tree

Agora-Unreal-SDK-CPP-Example/Source/AgoraExample/AgoraVideoWidget.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,11 @@ void UAgoraVideoWidget::onUserOffline(agora::rtc::uid_t uid, agora::rtc::USER_OF
190190
void UAgoraVideoWidget::onLeaveChannel(const agora::rtc::RtcStats& stats) {
191191
AsyncTask(ENamedThreads::GameThread, [=]()
192192
{
193+
if (bIsDestruct)
194+
{
195+
UE_LOG(LogTemp, Warning, TEXT("UVideoWidget::onLeaveChannel bIsDestruct"));
196+
return;
197+
}
193198
UE_LOG(LogTemp, Warning, TEXT("UVideoWidget::onLeaveChannel"));
194199
agora::rtc::VideoCanvas videoCanvas;
195200
videoCanvas.view = nullptr;
@@ -318,6 +323,8 @@ void UAgoraVideoWidget::NativeDestruct() {
318323
delete RtcEngineProxy;
319324

320325
RtcEngineProxy = nullptr;
326+
327+
bIsDestruct = true;
321328
}
322329

323330
}

Agora-Unreal-SDK-CPP-Example/Source/AgoraExample/AgoraVideoWidget.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ class AGORAEXAMPLE_API UAgoraVideoWidget : public UBaseAgoraUserWidget, public a
140140

141141
FSlateBrush EmptyBrush;
142142

143+
bool bIsDestruct = false;
144+
143145
void InitAgoraEngine(FString APP_ID, FString TOKEN, FString CHANNEL_NAME);
144146

145147
void SetUpUIEvent();

Agora-Unreal-SDK-CPP-Example/Source/AgoraExample/ProcessAudioRawDataWidget.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33

44
#include "ProcessAudioRawDataWidget.h"
5-
#include <string>
6-
#import <Foundation/Foundation.h>
5+
76
void UProcessAudioRawDataWidget::InitAgoraWidget(FString APP_ID, FString TOKEN, FString CHANNEL_NAME)
87
{
98
InitConfig();

Agora-Unreal-SDK-CPP-Example/Source/AgoraExample/ProcessAudioRawDataWidget.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
#include "AndroidPermission/Classes/AndroidPermissionFunctionLibrary.h"
1616
#endif
1717
#include <string>
18+
#if PLATFORM_IOS
19+
#import <Foundation/Foundation.h>
20+
#endif
1821
#include "ProcessAudioRawDataWidget.generated.h"
1922

2023
using namespace agora::rtc;

0 commit comments

Comments
 (0)