This commit is contained in:
parent
bf2da45a63
commit
e3e45c13a3
@ -1,82 +0,0 @@
|
||||
From: David Edmundson <david@davidedmundson.co.uk>
|
||||
Date: Sat, 06 Feb 2016 18:02:53 +0000
|
||||
Subject: Fix crash in activities context menu
|
||||
X-Git-Url: http://quickgit.kde.org/?p=kactivities.git&a=commitdiff&h=b3c8ad1ad48d65ea77724f94073909dc8ab97596
|
||||
---
|
||||
Fix crash in activities context menu
|
||||
|
||||
Currently we call deleteLater() from inside ::run which is running in a
|
||||
different thread than the receiving object.
|
||||
(QThread objects live in the thread that created them, not in the thread
|
||||
they create)
|
||||
|
||||
This patch causes deleteLater to be run in the right thread.
|
||||
|
||||
QCoreApplication::postEvent is thread safe but it needs to be in the
|
||||
right thread to work out the correct event loop level for deferred
|
||||
delete events.
|
||||
|
||||
BUG: 351485
|
||||
REVIEW: 126955
|
||||
---
|
||||
|
||||
|
||||
--- a/src/workspace/fileitemplugin/FileItemLinkingPlugin.cpp
|
||||
+++ b/src/workspace/fileitemplugin/FileItemLinkingPlugin.cpp
|
||||
@@ -124,7 +124,7 @@
|
||||
setActions({ action });
|
||||
|
||||
} else if (!loaded) {
|
||||
- auto loader = new FileItemLinkingPluginActionLoader(items);
|
||||
+ auto loader = FileItemLinkingPluginActionLoader::create(items);
|
||||
|
||||
static FileItemLinkingPluginActionStaticInit init;
|
||||
|
||||
|
||||
--- a/src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.cpp
|
||||
+++ b/src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.cpp
|
||||
@@ -39,6 +39,13 @@
|
||||
#include <KLocalizedString>
|
||||
|
||||
#include "common/dbus/common.h"
|
||||
+
|
||||
+FileItemLinkingPluginActionLoader* FileItemLinkingPluginActionLoader::create(const KFileItemListProperties &items)
|
||||
+{
|
||||
+ auto l = new FileItemLinkingPluginActionLoader(items);
|
||||
+ connect(l, &QThread::finished, l, &QObject::deleteLater);
|
||||
+ return l;
|
||||
+}
|
||||
|
||||
FileItemLinkingPluginActionLoader::FileItemLinkingPluginActionLoader(
|
||||
const KFileItemListProperties &items)
|
||||
@@ -150,8 +157,6 @@
|
||||
}
|
||||
|
||||
emit result(actions);
|
||||
-
|
||||
- deleteLater();
|
||||
}
|
||||
|
||||
Action
|
||||
|
||||
--- a/src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.h
|
||||
+++ b/src/workspace/fileitemplugin/FileItemLinkingPluginActionLoader.h
|
||||
@@ -33,8 +33,7 @@
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
- FileItemLinkingPluginActionLoader(const KFileItemListProperties &items);
|
||||
-
|
||||
+ static FileItemLinkingPluginActionLoader* create(const KFileItemListProperties &items);
|
||||
void run() Q_DECL_OVERRIDE;
|
||||
|
||||
Action createAction(const QString &activity, bool link,
|
||||
@@ -46,6 +45,7 @@
|
||||
void result(const ActionList &actions);
|
||||
|
||||
private:
|
||||
+ FileItemLinkingPluginActionLoader(const KFileItemListProperties &items);
|
||||
KFileItemListProperties items;
|
||||
KActivities::Consumer activities;
|
||||
};
|
||||
|
@ -4,6 +4,7 @@ Sun Mar 6 09:54:26 UTC 2016 - hrvoje.senjan@gmail.com
|
||||
- Update to 5.20.0
|
||||
* For more details please see:
|
||||
https://www.kde.org/announcements/kde-frameworks-5.20.0.php
|
||||
- Drop upstreamed fix-crash-in-activities-context-menu.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 7 05:32:00 UTC 2016 - wbauer@tmo.at
|
||||
|
@ -16,7 +16,6 @@
|
||||
#
|
||||
|
||||
|
||||
%bcond_without lang
|
||||
%define lname libKF5Activities5
|
||||
%define _tar_path 5.20
|
||||
Name: kactivities5
|
||||
@ -54,9 +53,6 @@ Kactivities provides an API for using and interacting with the Plasma Activities
|
||||
%package -n %lname
|
||||
Summary: Library for KDE's Plasma Activities support
|
||||
Group: System/GUI/KDE
|
||||
%if %{with lang}
|
||||
Recommends: %lname-lang = %{version}
|
||||
%endif
|
||||
|
||||
%description -n %lname
|
||||
Kactivities provides an API for using and interacting with the Plasma Activities Manager.
|
||||
@ -80,7 +76,6 @@ Requires: cmake(Qt5Core) >= 5.3.0
|
||||
Kactivities provides an API for using and interacting with the Plasma Activities Manager.
|
||||
Development files.
|
||||
|
||||
%lang_package -n %lname
|
||||
%prep
|
||||
%setup -q -n kactivities-%{version}
|
||||
|
||||
@ -92,18 +87,10 @@ Development files.
|
||||
%kf5_makeinstall -C build
|
||||
%fdupes %{buildroot}
|
||||
|
||||
%if %{with lang}
|
||||
%find_lang %{name}
|
||||
%endif
|
||||
|
||||
%post -n %lname -p /sbin/ldconfig
|
||||
|
||||
%postun -n %lname -p /sbin/ldconfig
|
||||
|
||||
%if %{with lang}
|
||||
%files -n %lname-lang -f %{name}.lang
|
||||
%endif
|
||||
|
||||
%files -n %lname
|
||||
%defattr(-,root,root,-)
|
||||
%{_kf5_libdir}/libKF5Activities.so.*
|
||||
|
Loading…
x
Reference in New Issue
Block a user