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();
|
||||
}
|
||||
|
||||
QKdeTheme::~QKdeTheme()
|
||||
= default;
|
||||
|
||||
QFont *QKdeThemePrivate::kdeFont(const QVariant &fontValue)
|
||||
{
|
||||
if (fontValue.isValid()) {
|
||||
|
@ -29,7 +29,8 @@ class Q_GUI_EXPORT QKdeTheme : public QGenericUnixTheme
|
||||
{
|
||||
Q_DECLARE_PRIVATE(QKdeTheme)
|
||||
public:
|
||||
QKdeTheme(const QStringList& kdeDirs, int kdeVersion);
|
||||
explicit QKdeTheme(const QStringList& kdeDirs, int kdeVersion);
|
||||
~QKdeTheme() override;
|
||||
|
||||
static QPlatformTheme *createKdeTheme();
|
||||
QVariant themeHint(ThemeHint hint) const override;
|
||||
|
Loading…
x
Reference in New Issue
Block a user