From 48c311b8f354900fc4ce47bc2737aee1bab0809f Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 22 Oct 2024 10:50:08 +0200 Subject: [PATCH] Python: do not access deleted widget in settingspage Change-Id: Ibf7148255ac5a3bb26ec41684f7c96dd5c357ca5 Reviewed-by: Marcus Tillmanns --- src/plugins/python/pythonsettings.cpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/plugins/python/pythonsettings.cpp b/src/plugins/python/pythonsettings.cpp index cf43807db37..6240499f2dc 100644 --- a/src/plugins/python/pythonsettings.cpp +++ b/src/plugins/python/pythonsettings.cpp @@ -318,33 +318,27 @@ public: setCategory(Constants::C_PYTHON_SETTINGS_CATEGORY); setDisplayCategory(Tr::tr("Python")); setCategoryIconPath(":/python/images/settingscategory_python.png"); - setWidgetCreator([this] { m_widget = new InterpreterOptionsWidget; return m_widget; }); + setWidgetCreator([] { return new InterpreterOptionsWidget(); }); } QList interpreters() { - if (m_widget) - return m_widget->interpreters(); - return {}; + return static_cast(widget())->interpreters(); } void addInterpreter(const Interpreter &interpreter) { - if (m_widget) - m_widget->addInterpreter(interpreter); + static_cast(widget())->addInterpreter(interpreter); } void removeInterpreterFrom(const QString &detectionSource) { - if (m_widget) - m_widget->removeInterpreterFrom(detectionSource); + static_cast(widget())->removeInterpreterFrom(detectionSource); } QList interpreterFrom(const QString &detectionSource) { - if (m_widget) - return m_widget->interpreterFrom(detectionSource); - return {}; + return static_cast(widget())->interpreterFrom(detectionSource); } QStringList keywords() const final @@ -358,9 +352,6 @@ public: Tr::tr("&Make Default") }; } - -private: - InterpreterOptionsWidget *m_widget = nullptr; }; static InterpreterOptionsPage &interpreterOptionsPage()