diff options
author | Eric Hameleers <alien@slackware.com> | 2020-07-31 16:13:18 +0200 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-07-31 16:13:18 +0200 |
commit | 703149752c6265b36973d2c1f0f5a69721e3128a (patch) | |
tree | 7ded0d801771d5705f48ffbfb48f37dd4829439e /kde/patch/konsole/konsole.konsolepart.segfault.closing.after.contextmenu.patch | |
parent | dd005500c624d127321ff3fe14a0c29bfa8d67f7 (diff) | |
parent | cd7ff1719433fbb3b6a8304596be173bc1b91b00 (diff) | |
download | ktown-703149752c6265b36973d2c1f0f5a69721e3128a.tar.gz ktown-703149752c6265b36973d2c1f0f5a69721e3128a.tar.xz |
Diffstat (limited to '')
-rw-r--r-- | kde/patch/konsole/konsole.konsolepart.segfault.closing.after.contextmenu.patch | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/kde/patch/konsole/konsole.konsolepart.segfault.closing.after.contextmenu.patch b/kde/patch/konsole/konsole.konsolepart.segfault.closing.after.contextmenu.patch deleted file mode 100644 index fcdbb84..0000000 --- a/kde/patch/konsole/konsole.konsolepart.segfault.closing.after.contextmenu.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 1d7142ed24ef370ae984c0441d5b325b42656bd7 Mon Sep 17 00:00:00 2001 -From: Maximilian Schiller <manimax3@outlook.de> -Date: Fri, 29 May 2020 07:36:02 -0400 -Subject: Fix konsolepart segfault when closing after showing context menu - -Assign the _view as the parent to the KXMLGuiFactory because the -factory is referencing the view widget as its associated widget. Since -the TerminalDisplay gets destructed first this is now a dangling -pointer. If the view is set as the parent the factory gets cleaned up -correctly. Also cleanup the created clientBuilder after destruction -because it can't have a parent and would probably leak memory. - -BUG: 415762 -FIXED-IN: 20.08.0 -See also !87 ---- - src/SessionController.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/SessionController.cpp b/src/SessionController.cpp -index e72f342..542955d 100644 ---- a/src/SessionController.cpp -+++ b/src/SessionController.cpp -@@ -1732,11 +1732,13 @@ void SessionController::showDisplayContextMenu(const QPoint& position) - if (factory() == nullptr) { - if (clientBuilder() == nullptr) { - setClientBuilder(new KXMLGUIBuilder(_view)); -+ -+ // Client builder does not get deleted automatically -+ connect(this, &QObject::destroyed, this, [this]{ delete clientBuilder(); }); - } - -- auto factory = new KXMLGUIFactory(clientBuilder(), this); -+ auto factory = new KXMLGUIFactory(clientBuilder(), _view); - factory->addClient(this); -- ////qDebug() << "Created xmlgui factory" << factory; - } - - QPointer<QMenu> popup = qobject_cast<QMenu*>(factory()->container(QStringLiteral("session-popup-menu"), this)); --- -cgit v1.1 - - |