From 799a90e09cd41a965dfc5a18333656f4fbc7c4b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=81=8D=E5=85=AE=E6=83=9A=E5=85=AE?= <101191390+HIllya51@users.noreply.github.com> Date: Sun, 21 Apr 2024 19:14:52 +0800 Subject: [PATCH] Update qtcommon.h --- LunaHost/GUI/Plugin/extensions/qtcommon.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/LunaHost/GUI/Plugin/extensions/qtcommon.h b/LunaHost/GUI/Plugin/extensions/qtcommon.h index aa485c5..fbfa2f4 100644 --- a/LunaHost/GUI/Plugin/extensions/qtcommon.h +++ b/LunaHost/GUI/Plugin/extensions/qtcommon.h @@ -29,7 +29,13 @@ constexpr auto WINDOW = u8"Window"; struct Settings : QSettings { Settings(QObject* parent = nullptr) : QSettings(CONFIG_FILE, QSettings::IniFormat, parent) {} }; struct QTextFile : QFile { QTextFile(QString name, QIODevice::OpenMode mode) : QFile(name) { open(mode | QIODevice::Text); } }; struct Localizer { Localizer() { Localize(); } }; -inline std::wstring S(const QString& s) { return { s.toStdWString() }; } +inline std::wstring S(const QString& s) { + //s.toStdWString will crash. unknown why. + std::wstring ws; + ws.resize(s.size()+1); + s.toWCharArray(ws.data()); + return ws; +} inline QString S(const std::string& s) { return QString::fromStdString(s); } inline QString S(const std::wstring& s) { return QString::fromStdWString(s); } // TODO: allow paired surrogates