more protection

This commit is contained in:
2024-05-13 22:29:38 +03:00
parent 0dcc0da004
commit 85adc666ef
2 changed files with 10 additions and 2 deletions

View File

@@ -4,7 +4,7 @@ cmake_policy(SET CMP0072 NEW) # FindOpenGL prefers GLVND by default
project(QAD) project(QAD)
set(QAD_MAJOR 2) set(QAD_MAJOR 2)
set(QAD_MINOR 28) set(QAD_MINOR 28)
set(QAD_REVISION 0) set(QAD_REVISION 1)
set(QAD_SUFFIX ) set(QAD_SUFFIX )
set(QAD_COMPANY SHS) set(QAD_COMPANY SHS)
set(QAD_DOMAIN org.SHS) set(QAD_DOMAIN org.SHS)

View File

@@ -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) {return QString::fromLocal8Bit(v.data());}
inline QString PI2QString(const PIString & v) { inline QString PI2QString(const PIString & v) {
if (v.isEmpty()) return QString();
return QString::fromUtf8(v.dataUTF8()); return QString::fromUtf8(v.dataUTF8());
} }
#if PIP_VERSION >= PIP_MAKE_VERSION(2, 38, 0) #if PIP_VERSION >= PIP_MAKE_VERSION(2, 38, 0)
inline QString PI2QString(const PIConstChars & v) { inline QString PI2QString(const PIConstChars & v) {
if (v.isEmpty()) return QString();
return QString::fromLatin1(v.data(), v.length()); return QString::fromLatin1(v.data(), v.length());
} }
#endif #endif
// inline PIString Q2PIString(const QString & v) {return PIString(v.toLocal8Bit().data());} // inline PIString Q2PIString(const QString & v) {return PIString(v.toLocal8Bit().data());}
inline PIString Q2PIString(const QString & v) { 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) { inline QStringList PI2QStringList(const PIStringList & v) {
if (v.isEmpty()) return QStringList();
QStringList ret; QStringList ret;
for (const auto & s: v) for (const auto & s: v)
ret << PI2QString(s); ret << PI2QString(s);
@@ -77,6 +82,7 @@ inline QStringList PI2QStringList(const PIStringList & v) {
} }
inline PIStringList Q2PIStringList(const QStringList & v) { inline PIStringList Q2PIStringList(const QStringList & v) {
if (v.isEmpty()) return PIStringList();
PIStringList ret; PIStringList ret;
ret.reserve(v.size()); ret.reserve(v.size());
for (const auto & s: v) for (const auto & s: v)
@@ -86,10 +92,12 @@ inline PIStringList Q2PIStringList(const QStringList & v) {
inline QByteArray PI2QByteArray(const PIByteArray & v) { inline QByteArray PI2QByteArray(const PIByteArray & v) {
if (v.isEmpty()) return QByteArray();
return QByteArray((const char *)(v.data()), v.size_s()); return QByteArray((const char *)(v.data()), v.size_s());
} }
inline PIByteArray Q2PIByteArray(const QByteArray & v) { inline PIByteArray Q2PIByteArray(const QByteArray & v) {
if (v.isEmpty()) return PIByteArray();
return PIByteArray(v.constData(), v.size()); return PIByteArray(v.constData(), v.size());
} }