From 1ceb8efeef7cf2f32ab069e0939a96e26ba1a9f6 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 19 Feb 2018 15:52:44 +0100 Subject: Reset QQuickStyle when the QtQuick.Controls 2 plugin is unloaded Cleanup global static data in QQuickStyle when the controls plugin is unloaded (qmlClearTypeRegistrations()). This ensures that the style is resolved as appropriate when the controls plugin is reloaded. Change-Id: Icebb835e057e6063e4fc0ca035c6836560bc7c14 Reviewed-by: Mitch Curtis --- src/imports/controls/qtquickcontrols2plugin.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp index d04d3018..76086376 100644 --- a/src/imports/controls/qtquickcontrols2plugin.cpp +++ b/src/imports/controls/qtquickcontrols2plugin.cpp @@ -77,6 +77,8 @@ class QtQuickControls2Plugin: public QQuickStylePlugin public: QtQuickControls2Plugin(QObject *parent = nullptr); + ~QtQuickControls2Plugin(); + void registerTypes(const char *uri) override; QString name() const override; @@ -88,6 +90,11 @@ QtQuickControls2Plugin::QtQuickControls2Plugin(QObject *parent) : QQuickStylePlu initResources(); } +QtQuickControls2Plugin::~QtQuickControls2Plugin() +{ + QQuickStylePrivate::reset(); +} + void QtQuickControls2Plugin::registerTypes(const char *uri) { QQuickStylePrivate::init(typeUrl()); -- cgit v1.2.3