QKdeTheme: de-inline dtor; make ctor explicit
1/ A QStringList and an int are not a faithful representation of a KDE Theme, so the ctor should be explicit. Make it so™. 2/ As a polymorphic class, the (undeclared, therefore inline) dtor may cause weak vtables to be emitted, with all the bad side-effects described in the docs of -Wweak-vtable and QTBUG-45582. Mark the dtor out-of-line in the usual way (= default'ing, but in the .cpp file). Amends 53fb13456fffe8bfd192f9197c6d1703854b49a2. Task-number: QTBUG-45582 Task-number: QTBUG-132929 Task-number: QTBUG-135037 Change-Id: Ie0c14e60d76d2205c2025598ac31a917dbf870b1 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
This commit is contained in:
parent
4c2d3b7a4c
commit
e9d4412538
@ -544,6 +544,9 @@ QKdeTheme::QKdeTheme(const QStringList& kdeDirs, int kdeVersion)
|
|||||||
d_func()->refresh();
|
d_func()->refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QKdeTheme::~QKdeTheme()
|
||||||
|
= default;
|
||||||
|
|
||||||
QFont *QKdeThemePrivate::kdeFont(const QVariant &fontValue)
|
QFont *QKdeThemePrivate::kdeFont(const QVariant &fontValue)
|
||||||
{
|
{
|
||||||
if (fontValue.isValid()) {
|
if (fontValue.isValid()) {
|
||||||
|
@ -29,7 +29,8 @@ class Q_GUI_EXPORT QKdeTheme : public QGenericUnixTheme
|
|||||||
{
|
{
|
||||||
Q_DECLARE_PRIVATE(QKdeTheme)
|
Q_DECLARE_PRIVATE(QKdeTheme)
|
||||||
public:
|
public:
|
||||||
QKdeTheme(const QStringList& kdeDirs, int kdeVersion);
|
explicit QKdeTheme(const QStringList& kdeDirs, int kdeVersion);
|
||||||
|
~QKdeTheme() override;
|
||||||
|
|
||||||
static QPlatformTheme *createKdeTheme();
|
static QPlatformTheme *createKdeTheme();
|
||||||
QVariant themeHint(ThemeHint hint) const override;
|
QVariant themeHint(ThemeHint hint) const override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user