diff --git a/CMakeLists.txt b/CMakeLists.txt index 31b84aa..e965e34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_policy(SET CMP0072 NEW) # FindOpenGL prefers GLVND by default project(QAD) set(QAD_MAJOR 2) set(QAD_MINOR 28) -set(QAD_REVISION 0) +set(QAD_REVISION 1) set(QAD_SUFFIX ) set(QAD_COMPANY SHS) set(QAD_DOMAIN org.SHS) diff --git a/libs/piqt/piqt.h b/libs/piqt/piqt.h index 1079727..0ac280c 100644 --- a/libs/piqt/piqt.h +++ b/libs/piqt/piqt.h @@ -55,21 +55,26 @@ QAD_PIQT_EXPORT PIVariant Q2PIVariant(const QVariant & v); // inline QString PI2QString(const PIString & v) {return QString::fromLocal8Bit(v.data());} inline QString PI2QString(const PIString & v) { + if (v.isEmpty()) return QString(); return QString::fromUtf8(v.dataUTF8()); } #if PIP_VERSION >= PIP_MAKE_VERSION(2, 38, 0) inline QString PI2QString(const PIConstChars & v) { + if (v.isEmpty()) return QString(); return QString::fromLatin1(v.data(), v.length()); } #endif // inline PIString Q2PIString(const QString & v) {return PIString(v.toLocal8Bit().data());} inline PIString Q2PIString(const QString & v) { - return PIString::fromUTF8(v.toUtf8().data()); + if (v.isEmpty()) return PIString(); + auto qba = v.toUtf8(); + return PIString::fromUTF8(qba.constData(), qba.size()); } inline QStringList PI2QStringList(const PIStringList & v) { + if (v.isEmpty()) return QStringList(); QStringList ret; for (const auto & s: v) ret << PI2QString(s); @@ -77,6 +82,7 @@ inline QStringList PI2QStringList(const PIStringList & v) { } inline PIStringList Q2PIStringList(const QStringList & v) { + if (v.isEmpty()) return PIStringList(); PIStringList ret; ret.reserve(v.size()); for (const auto & s: v) @@ -86,10 +92,12 @@ inline PIStringList Q2PIStringList(const QStringList & v) { inline QByteArray PI2QByteArray(const PIByteArray & v) { + if (v.isEmpty()) return QByteArray(); return QByteArray((const char *)(v.data()), v.size_s()); } inline PIByteArray Q2PIByteArray(const QByteArray & v) { + if (v.isEmpty()) return PIByteArray(); return PIByteArray(v.constData(), v.size()); }