1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-10-21 05:16:35 +00:00

Do not implicitly convert QByteArray to const char*

Operators supporting this conversion can be disabled via
QT_NO_CAST_FROM_BYTEARRAY breaking the build. For example:

https://koschei.fedoraproject.org//package/openmw
https://kojipkgs.fedoraproject.org/work/tasks/5096/137735096/build.log
This commit is contained in:
elsid 2025-10-05 23:40:17 +02:00
parent ef05e089ab
commit 0bae2b14b1
No known key found for this signature in database
GPG key ID: B845CB9FEE18AB40
4 changed files with 17 additions and 13 deletions

View file

@ -13,7 +13,9 @@ CSMWorld::NestedTableProxyModel::NestedTableProxyModel(
{
const int parentRow = parent.row();
mId = std::string(parentModel->index(parentRow, 0).data().toString().toUtf8());
const QByteArray utf8 = parentModel->index(parentRow, 0).data().toString().toUtf8();
mId = std::string(utf8.constData(), utf8.size());
QAbstractProxyModel::setSourceModel(parentModel);

View file

@ -362,8 +362,8 @@ void CSVWorld::CommandDelegate::setEditorData(QWidget* editor, const QModelIndex
if (!n.isEmpty())
{
if (!variant.isValid())
variant = QVariant(editor->property(n).metaType(), (const void*)nullptr);
editor->setProperty(n, variant);
variant = QVariant(editor->property(n.constData()).metaType(), (const void*)nullptr);
editor->setProperty(n.constData(), variant);
}
}

View file

@ -1,8 +1,9 @@
#include "qtconversion.hpp"
#include <components/misc/strings/conversion.hpp>
#include <string_view>
QString Files::pathToQString(const std::filesystem::path& path)
{
const auto tmp = path.u8string();
@ -17,12 +18,12 @@ QString Files::pathToQString(std::filesystem::path&& path)
std::filesystem::path Files::pathFromQString(QStringView path)
{
const auto tmp = path.toUtf8();
return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) };
const QByteArray tmp = path.toUtf8();
return std::filesystem::path(Misc::StringUtils::stringToU8String(std::string_view(tmp.constData(), tmp.size())));
}
std::filesystem::path Files::pathFromQString(QString&& path)
{
const auto tmp = path.toUtf8();
return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) };
const QByteArray tmp = path.toUtf8();
return std::filesystem::path(Misc::StringUtils::stringToU8String(std::string_view(tmp.constData(), tmp.size())));
}

View file

@ -1,8 +1,9 @@
#include "qtconversion.hpp"
#include <components/misc/strings/conversion.hpp>
#include <string_view>
QString VFS::Path::normalizedToQString(NormalizedView path)
{
return QString::fromUtf8(path.value().data(), path.value().size());
@ -15,12 +16,12 @@ QString VFS::Path::normalizedToQString(Normalized&& path)
VFS::Path::Normalized VFS::Path::normalizedFromQString(QStringView path)
{
const auto tmp = path.toUtf8();
return Normalized{ tmp };
const QByteArray tmp = path.toUtf8();
return Normalized(std::string_view(tmp.constData(), tmp.size()));
}
VFS::Path::Normalized VFS::Path::normalizedFromQString(QString&& path)
{
const auto tmp = path.toUtf8();
return Normalized{ tmp };
const QByteArray tmp = std::move(path).toUtf8();
return Normalized(std::string_view(tmp.constData(), tmp.size()));
}