De-inline dtors of QTextureFileHandler hierarchy

Destructors of polymorphic classes should be out-of-line to pin vtable
and type_info objects to a single TU.

Pick-to: 6.3
Task-number: QTBUG-45582
Change-Id: I541437a3ff53852527f6278355f7b549e62e17f7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Marc Mutz 2022-02-11 17:03:48 +01:00
parent 61e3fe7fd9
commit cfa4879b41
8 changed files with 12 additions and 1 deletions

View File

@ -59,6 +59,8 @@ struct AstcHeader
quint8 zSize[3];
};
QAstcHandler::~QAstcHandler() = default;
bool QAstcHandler::canRead(const QByteArray &suffix, const QByteArray &block)
{
Q_UNUSED(suffix);

View File

@ -59,6 +59,7 @@ class QAstcHandler : public QTextureFileHandler
{
public:
using QTextureFileHandler::QTextureFileHandler;
~QAstcHandler() override;
static bool canRead(const QByteArray &suffix, const QByteArray &block);

View File

@ -111,6 +111,8 @@ constexpr quint32 withPadding(quint32 value, quint32 rounding)
return value + (rounding - 1) - ((value + (rounding - 1)) % rounding);
}
QKtxHandler::~QKtxHandler() = default;
bool QKtxHandler::canRead(const QByteArray &suffix, const QByteArray &block)
{
Q_UNUSED(suffix);

View File

@ -61,6 +61,7 @@ class QKtxHandler : public QTextureFileHandler
{
public:
using QTextureFileHandler::QTextureFileHandler;
~QKtxHandler() override;
static bool canRead(const QByteArray &suffix, const QByteArray &block);

View File

@ -65,6 +65,8 @@ static constexpr PkmType typeMap[5] = {
{ 0x9276, 8 } // GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
};
QPkmHandler::~QPkmHandler() = default;
bool QPkmHandler::canRead(const QByteArray &suffix, const QByteArray &block)
{
Q_UNUSED(suffix);

View File

@ -59,6 +59,7 @@ class QPkmHandler : public QTextureFileHandler
{
public:
using QTextureFileHandler::QTextureFileHandler;
~QPkmHandler() override;
static bool canRead(const QByteArray &suffix, const QByteArray &block);

View File

@ -63,7 +63,7 @@ public:
{
m_logName = !logName.isEmpty() ? logName : QByteArrayLiteral("(unknown)");
}
virtual ~QTextureFileHandler() {}
virtual ~QTextureFileHandler();
virtual QTextureFileData read() = 0;
QIODevice *device() const { return m_device; }

View File

@ -47,6 +47,8 @@
QT_BEGIN_NAMESPACE
QTextureFileHandler::~QTextureFileHandler() = default;
QTextureFileReader::QTextureFileReader(QIODevice *device, const QString &fileName)
: m_device(device), m_fileName(fileName)
{