From c2ea0b1f94bdb7cd7892e3277d17f6a14bf603e9 Mon Sep 17 00:00:00 2001 From: Yang Wang <yang.wang@savoirfairelinux.com> Date: Tue, 18 Aug 2020 13:24:37 -0400 Subject: [PATCH] setting: fix hardware accel crash Change-Id: If001b758642fc8a1289506760650997dd9b20462 --- src/accountadapter.cpp | 32 +++---------------- src/accountadapter.h | 12 ++----- src/settingsview/components/AvSettingPage.qml | 10 +++--- .../CurrentAccountSettingsScrollPage.qml | 2 +- .../components/GeneralSettingsPage.qml | 1 - 5 files changed, 12 insertions(+), 45 deletions(-) diff --git a/src/accountadapter.cpp b/src/accountadapter.cpp index af072ac82..fff2dc6ca 100644 --- a/src/accountadapter.cpp +++ b/src/accountadapter.cpp @@ -238,16 +238,16 @@ AccountAdapter::stopAudioMeter(bool async) } void -AccountAdapter::startPreviewing(bool force) +AccountAdapter::startPreviewing(bool force, bool async) { - LRCInstance::renderer()->startPreviewing(force); + LRCInstance::renderer()->startPreviewing(force, async); } void -AccountAdapter::stopPreviewing() +AccountAdapter::stopPreviewing(bool async) { if (!LRCInstance::hasVideoCall() && LRCInstance::renderer()->isPreviewing()) { - LRCInstance::renderer()->stopPreviewing(); + LRCInstance::renderer()->stopPreviewing(async); } } @@ -263,12 +263,6 @@ AccountAdapter::isPreviewing() return LRCInstance::renderer()->isPreviewing(); } -RenderManager * -AccountAdapter::getRenderManager() -{ - return LRCInstance::renderer(); -} - void AccountAdapter::setCurrAccDisplayName(QString text) { @@ -319,24 +313,6 @@ AccountAdapter::setArchivePasswordAsync(const QString &accountID, const QString }); } -lrc::api::NewAccountModel * -AccountAdapter::accoundModel() -{ - return &(LRCInstance::accountModel()); -} - -lrc::api::AVModel * -AccountAdapter::avModel() -{ - return &(LRCInstance::avModel()); -} - -lrc::api::DataTransferModel * -AccountAdapter::dataTransferModel() -{ - return &(LRCInstance::dataTransferModel()); -} - void AccountAdapter::settingsNeverShowAgain(bool checked) { diff --git a/src/accountadapter.h b/src/accountadapter.h index 10e4fa9f6..234489575 100644 --- a/src/accountadapter.h +++ b/src/accountadapter.h @@ -74,22 +74,14 @@ public: Q_INVOKABLE bool savePassword(QString accountId, QString oldPassword, QString newPassword); Q_INVOKABLE void startAudioMeter(bool async); Q_INVOKABLE void stopAudioMeter(bool async); - Q_INVOKABLE void startPreviewing(bool force); - Q_INVOKABLE void stopPreviewing(); + Q_INVOKABLE void startPreviewing(bool force = false, bool async = true); + Q_INVOKABLE void stopPreviewing(bool async = true); Q_INVOKABLE bool hasVideoCall(); Q_INVOKABLE bool isPreviewing(); Q_INVOKABLE void setCurrAccDisplayName(QString text); Q_INVOKABLE void setSelectedAccountId(QString accountId = {}); Q_INVOKABLE void setSelectedConvId(QString accountId = {}); - /* - * lrc model instances getter - */ - Q_INVOKABLE lrc::api::NewAccountModel *accoundModel(); - Q_INVOKABLE lrc::api::AVModel *avModel(); - Q_INVOKABLE lrc::api::DataTransferModel *dataTransferModel(); - - Q_INVOKABLE RenderManager *getRenderManager(); signals: /* diff --git a/src/settingsview/components/AvSettingPage.qml b/src/settingsview/components/AvSettingPage.qml index 64a9f1cdc..99798446f 100644 --- a/src/settingsview/components/AvSettingPage.qml +++ b/src/settingsview/components/AvSettingPage.qml @@ -103,13 +103,13 @@ Rectangle { } catch(err){console.warn("Exception: " + err.message)} } - function startPreviewing(force = false){ - ClientWrapper.accountAdaptor.startPreviewing(force) + function startPreviewing(force = false, async = true){ + ClientWrapper.accountAdaptor.startPreviewing(force, async) previewAvailable = true } - function stopPreviewing(){ - ClientWrapper.accountAdaptor.stopPreviewing() + function stopPreviewing(async = true){ + ClientWrapper.accountAdaptor.stopPreviewing(async) } function startAudioMeter(async = true){ @@ -130,7 +130,7 @@ Rectangle { } function slotSetHardwareAccel(state){ - ClientWrapper.accountAdaptor.avModel().setHardwareAcceleration(state) + ClientWrapper.avmodel.setHardwareAcceleration(state) startPreviewing(true) } diff --git a/src/settingsview/components/CurrentAccountSettingsScrollPage.qml b/src/settingsview/components/CurrentAccountSettingsScrollPage.qml index d2847d04a..f4fc28500 100644 --- a/src/settingsview/components/CurrentAccountSettingsScrollPage.qml +++ b/src/settingsview/components/CurrentAccountSettingsScrollPage.qml @@ -261,7 +261,7 @@ Rectangle { return } else { if (exportPath.length > 0) { - var isSuccessful = ClientWrapper.accountAdaptor.accoundModel().exportToFile(ClientWrapper.utilsAdaptor.getCurrAccId(), exportPath,"") + var isSuccessful = ClientWrapper.accountModel.exportToFile(ClientWrapper.utilsAdaptor.getCurrAccId(), exportPath,"") var title = isSuccessful ? qsTr("Success") : qsTr("Error") var iconMode = isSuccessful ? StandardIcon.Information : StandardIcon.Critical var info = isSuccessful ? qsTr("Export Successful") : qsTr("Export Failed") diff --git a/src/settingsview/components/GeneralSettingsPage.qml b/src/settingsview/components/GeneralSettingsPage.qml index 412612f9e..8a7847a74 100644 --- a/src/settingsview/components/GeneralSettingsPage.qml +++ b/src/settingsview/components/GeneralSettingsPage.qml @@ -145,7 +145,6 @@ Rectangle { property string downloadPath: ClientWrapper.settingsAdaptor.getDir_Download() // recording - //property AVModel avmodel: ClientWrapper.accountAdaptor.avModel() property string recordPath: ClientWrapper.settingsAdaptor.getDir_Document() property int preferredColumnWidth : generalSettingsScrollView.width / 2 - 50 -- GitLab