to fix #8667 you can - subpath:"/FoxitReader" appExtraEnvironments : "QT_QPA_PLATFORM=xcb" - subpath:"/FoxitReader" appEnvironmentsBlacklist : "QT_QPA_PLATFORM" ``` dde-dconfig set -a org.deepin.dde.application-manager -r org.deepin.dde.application-manager -k appExtraEnvironments -s "/FoxitReader" -v "[\"QT_QPA_PLATFORM=xcb\"]" dde-dconfig set -a org.deepin.dde.application-manager -r org.deepin.dde.application-manager -k appEnvironmentsBlacklist -s "/FoxitReader" -v "[\"QT_QPA_PLATFORM\"]" ``` Issue: https://github.com/linuxdeepin/developer-center/issues/8667
56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
|
//
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
#include "variantValue.h"
|
|
#include "constant.h"
|
|
#include <sstream>
|
|
|
|
std::unique_ptr<VariantValue> creatValueHandler(msg_ptr &msg, DBusValueType type)
|
|
{
|
|
switch (type) {
|
|
case DBusValueType::String:
|
|
return std::make_unique<StringValue>(msg);
|
|
case DBusValueType::ArrayOfString:
|
|
return std::make_unique<ASValue>(msg);
|
|
default:
|
|
return nullptr;
|
|
}
|
|
}
|
|
|
|
int StringValue::openVariant() noexcept
|
|
{
|
|
return sd_bus_message_open_container(msgRef(), SD_BUS_TYPE_VARIANT, "s");
|
|
}
|
|
|
|
int StringValue::closeVariant() noexcept
|
|
{
|
|
return sd_bus_message_close_container(msgRef());
|
|
}
|
|
|
|
int StringValue::appendValue(std::string &&value) noexcept
|
|
{
|
|
return sd_bus_message_append(msgRef(), "s", value.data());
|
|
}
|
|
|
|
int ASValue::openVariant() noexcept
|
|
{
|
|
if (int ret = sd_bus_message_open_container(msgRef(), SD_BUS_TYPE_VARIANT, "as"); ret < 0)
|
|
return ret;
|
|
|
|
return sd_bus_message_open_container(msgRef(), SD_BUS_TYPE_ARRAY, "s");
|
|
}
|
|
|
|
int ASValue::closeVariant() noexcept
|
|
{
|
|
if (int ret = sd_bus_message_close_container(msgRef()); ret < 0)
|
|
return ret;
|
|
|
|
return sd_bus_message_close_container(msgRef());
|
|
}
|
|
|
|
int ASValue::appendValue(std::string &&value) noexcept
|
|
{
|
|
return sd_bus_message_append(msgRef(), "s", value.data());
|
|
}
|