From f7c03bd16345417037d252a8d85adcd8378e4eca Mon Sep 17 00:00:00 2001 From: Tuur Vanhoutte <4633209+zjeffer@users.noreply.github.com> Date: Sun, 9 Feb 2025 01:26:03 +0100 Subject: [PATCH] Fix SplitterStyle destruction (#743) --- src/mainwindow.cpp | 2 +- src/splitterstyle.cpp | 5 ++++- src/splitterstyle.h | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d0a7e9a4e..0fb75be56 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -491,7 +491,7 @@ void MainWindow::setupMainWindow() #endif ui->listviewLabel1->setFont(titleFont); ui->listviewLabel2->setFont(titleFont); - m_splitterStyle = new SplitterStyle(); + m_splitterStyle = new SplitterStyle(this); m_splitter->setStyle(m_splitterStyle); m_splitter->setHandleWidth(0); setNoteListLoading(); diff --git a/src/splitterstyle.cpp b/src/splitterstyle.cpp index 1a3090c81..ec32e7425 100644 --- a/src/splitterstyle.cpp +++ b/src/splitterstyle.cpp @@ -1,6 +1,9 @@ #include "splitterstyle.h" -SplitterStyle::SplitterStyle() { } +SplitterStyle::SplitterStyle(QObject *parent) : QProxyStyle() +{ + setParent(parent); // to ensure proper object destruction +} void SplitterStyle::drawControl(ControlElement element, const QStyleOption *opt, QPainter *p, const QWidget *w) const diff --git a/src/splitterstyle.h b/src/splitterstyle.h index bb33dd602..20879c934 100644 --- a/src/splitterstyle.h +++ b/src/splitterstyle.h @@ -5,13 +5,13 @@ class SplitterStyle : public QProxyStyle { + Q_OBJECT public: - SplitterStyle(); + SplitterStyle(QObject *parent); - // QStyle interface public: - virtual void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p, - const QWidget *w) const override; + void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p, + const QWidget *w) const override; }; #endif // SPLITTERSTYLE_H