fix: 修复默认程序设置失败的问题

指针初始化未置空,导致的判断出错

Log: 修复默认程序设置失败的问题
Influence: 默认程序设置
Task: https://pms.uniontech.com/task-view-235759.html
Change-Id: Ieb4d7ad1a41e9200447cff7470541461e7129bfb
This commit is contained in:
ssk-wh 2023-01-09 16:45:23 +08:00
parent f93a522546
commit b9372feb9a
3 changed files with 5 additions and 5 deletions

View File

@ -219,7 +219,7 @@ std::vector<std::string> 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()); 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); GAppInfo* gAppInfo = G_APP_INFO(gDesktopAppInfo);
GError* err; GError* err = nullptr;
g_app_info_set_as_default_for_type(gAppInfo, mimeType.c_str(), &err); g_app_info_set_as_default_for_type(gAppInfo, mimeType.c_str(), &err);
if (err != nullptr) { if (err != nullptr) {

View File

@ -16,7 +16,7 @@ public:
static std::shared_ptr<AppInfoManger> loadByDesktopId(std::string desktopId); static std::shared_ptr<AppInfoManger> loadByDesktopId(std::string desktopId);
static std::string getDefaultApp(std::string mimeType, bool supportUri); static std::string getDefaultApp(std::string mimeType, bool supportUri);
static std::vector<std::string> getAppList(std::string mimeType); static std::vector<std::string> 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<std::string>& getXdgDataDirs(); static std::vector<std::string>& getXdgDataDirs();
static std::vector<std::string>& getXdgAppsDirs(); static std::vector<std::string>& getXdgAppsDirs();
static std::vector<std::shared_ptr<AppInfoManger>> getAll(std::map<std::string, std::vector<std::string>> skipDirs); static std::vector<std::shared_ptr<AppInfoManger>> getAll(std::map<std::string, std::vector<std::string>> skipDirs);

View File

@ -291,7 +291,7 @@ bool MimeApp::setDefaultApp(const std::string &mimeType, const std::string &des
return true; return true;
} }
return AppInfoManger::getDefaultApp(mimeType, desktopId); return AppInfoManger::setDefaultApp(mimeType, desktopId);
} }
void MimeApp::DeleteApp(QStringList mimeTypes, const QString &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) { if (mime.toStdString().compare(AppinfoCommon::AppMimeTerminal) == 0) {
bSuccess = TerminalInfo::getInstanceTerminal().setDefaultTerminal(desktopId.toStdString()); bSuccess = TerminalInfo::getInstanceTerminal().setDefaultTerminal(desktopId.toStdString());
} else { } else {
bSuccess = AppInfoManger::getDefaultApp(mime.toStdString(), desktopId.toStdString()); bSuccess = AppInfoManger::setDefaultApp(mime.toStdString(), desktopId.toStdString());
} }
if (!bSuccess) { if (!bSuccess) {