From b9372feb9a5626869f0886e9e0b0254117038042 Mon Sep 17 00:00:00 2001 From: ssk-wh Date: Mon, 9 Jan 2023 16:45:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E8=AE=BE=E7=BD=AE=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 指针初始化未置空,导致的判断出错 Log: 修复默认程序设置失败的问题 Influence: 默认程序设置 Task: https://pms.uniontech.com/task-view-235759.html Change-Id: Ieb4d7ad1a41e9200447cff7470541461e7129bfb --- src/lib/appinfo.cpp | 4 ++-- src/lib/appinfo.h | 2 +- src/modules/mimeapp/mime_app.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/appinfo.cpp b/src/lib/appinfo.cpp index 12162d6..87f0483 100644 --- a/src/lib/appinfo.cpp +++ b/src/lib/appinfo.cpp @@ -219,7 +219,7 @@ std::vector AppInfoManger::getAppList(std::string mimeType) } -bool AppInfoManger::getDefaultApp(std::string mimeType, std::string desktopId) +bool AppInfoManger::setDefaultApp(std::string mimeType, std::string desktopId) { GDesktopAppInfo* gDesktopAppInfo = g_desktop_app_info_new(desktopId.c_str()); @@ -229,7 +229,7 @@ bool AppInfoManger::getDefaultApp(std::string mimeType, std::string desktopId) GAppInfo* gAppInfo = G_APP_INFO(gDesktopAppInfo); - GError* err; + GError* err = nullptr; g_app_info_set_as_default_for_type(gAppInfo, mimeType.c_str(), &err); if (err != nullptr) { diff --git a/src/lib/appinfo.h b/src/lib/appinfo.h index d33a5c3..a4772d8 100644 --- a/src/lib/appinfo.h +++ b/src/lib/appinfo.h @@ -16,7 +16,7 @@ public: static std::shared_ptr loadByDesktopId(std::string desktopId); static std::string getDefaultApp(std::string mimeType, bool supportUri); static std::vector getAppList(std::string mimeType); - static bool getDefaultApp(std::string mimeType, std::string desktopId); + static bool setDefaultApp(std::string mimeType, std::string desktopId); static std::vector& getXdgDataDirs(); static std::vector& getXdgAppsDirs(); static std::vector> getAll(std::map> skipDirs); diff --git a/src/modules/mimeapp/mime_app.cpp b/src/modules/mimeapp/mime_app.cpp index ea8c3c8..4b47fcb 100644 --- a/src/modules/mimeapp/mime_app.cpp +++ b/src/modules/mimeapp/mime_app.cpp @@ -291,7 +291,7 @@ bool MimeApp::setDefaultApp(const std::string &mimeType, const std::string &des return true; } - return AppInfoManger::getDefaultApp(mimeType, desktopId); + return AppInfoManger::setDefaultApp(mimeType, desktopId); } void MimeApp::DeleteApp(QStringList mimeTypes, const QString &desktopId) @@ -415,7 +415,7 @@ void MimeApp::SetDefaultApp(const QStringList &mimeTypes, const QString &desktop if (mime.toStdString().compare(AppinfoCommon::AppMimeTerminal) == 0) { bSuccess = TerminalInfo::getInstanceTerminal().setDefaultTerminal(desktopId.toStdString()); } else { - bSuccess = AppInfoManger::getDefaultApp(mime.toStdString(), desktopId.toStdString()); + bSuccess = AppInfoManger::setDefaultApp(mime.toStdString(), desktopId.toStdString()); } if (!bSuccess) {