[SCM] KDE Base Workspace module packaging branch, master, updated. debian/4.4.5-7-78-g32eeae5
Modestas Vainius
modax at alioth.debian.org
Sun Feb 13 09:10:31 UTC 2011
The following commit has been merged in the master branch:
commit 6ee4375c5fd7b91e115ab7b62397937c2dbd0886
Author: Modestas Vainius <modestas at vainius.eu>
Date: Sat Feb 12 20:34:14 2011 +0200
Drop 34_backport_krunner_crash_fix_threading.diff patch.
It was stolen from upstream for our 4.4.5.
---
debian/changelog | 2 +
.../34_backport_krunner_crash_fix_threading.diff | 163 --------------------
debian/patches/series | 1 -
3 files changed, 2 insertions(+), 164 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 83417a9..2a9a016 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -111,6 +111,8 @@ kdebase-workspace (4:4.6.0-0r1) UNRELEASED; urgency=low
[ Modestas Vainius ]
* Remove README.Debian introduced in 4.4.5-6, no longer applicable.
+ * Drop 34_backport_krunner_crash_fix_threading.diff patch, it was stolen from
+ upstream.
-- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Sat, 31 Jul 2010 16:41:50 +0300
diff --git a/debian/patches/34_backport_krunner_crash_fix_threading.diff b/debian/patches/34_backport_krunner_crash_fix_threading.diff
deleted file mode 100644
index 7584e64..0000000
--- a/debian/patches/34_backport_krunner_crash_fix_threading.diff
+++ /dev/null
@@ -1,163 +0,0 @@
-From: Aaron J. Seigo <aseigo at kde.org>
-Subject: Fix for krunner occasionally crashes (threading related)
-Origin: backport http://websvn.kde.org/?view=revision&revision=1098125
-Bug: https://bugs.kde.org/show_bug.cgi?id=236496#c11
-Bug: https://bugs.kde.org/show_bug.cgi?id=224212
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=607974
-Last-Update: 2011-01-18
-Forwarded: yes
-Applied-Upstream: 4.5.0
-
-move the kfileplaces usage to the main thread; really non-optimal, but KIO
-forces our hand. if this works out in trunk, i'll backport to the 4.4 branch.
-
---- a/plasma/generic/runners/places/placesrunner.cpp
-+++ b/plasma/generic/runners/places/placesrunner.cpp
-@@ -19,14 +19,20 @@
-
- #include "placesrunner.h"
-
-+#include <QCoreApplication>
-+#include <QThread>
-+#include <QTimer>
-+
- #include <KDebug>
- #include <KIcon>
- #include <KRun>
- #include <KUrl>
-
-+//Q_DECLARE_METATYPE(Plasma::RunnerContext)
- PlacesRunner::PlacesRunner(QObject* parent, const QVariantList &args)
- : Plasma::AbstractRunner(parent, args)
- {
-+// qRegisterMetaType
- Q_UNUSED(args)
- setObjectName("Places");
- addSyntax(Plasma::RunnerSyntax(":q:", i18n("Finds file manager locations that match :q:")));
-@@ -34,7 +40,7 @@ PlacesRunner::PlacesRunner(QObject* pare
-
- // makes sure we have the bookmarks and what not that the places
- // model uses set up in the main thread, otherwise crashes ensue
-- KFilePlacesModel places;
-+ m_helper = new PlacesRunnerHelper(this);
- }
-
- PlacesRunner::~PlacesRunner()
-@@ -43,21 +49,48 @@ PlacesRunner::~PlacesRunner()
-
- void PlacesRunner::match(Plasma::RunnerContext &context)
- {
-+ if (QThread::currentThread() == QCoreApplication::instance()->thread()) {
-+ // from the main thread
-+ //kDebug() << "calling";
-+ m_helper->match(&context);
-+ } else {
-+ // from the non-gui thread
-+ //kDebug() << "emitting";
-+ emit doMatch(&context);
-+ }
-+ //m_helper->match(c);
-+}
-+
-+PlacesRunnerHelper::PlacesRunnerHelper(PlacesRunner *runner)
-+ : QObject(runner)
-+{
-+ Q_ASSERT(QThread::currentThread() == QCoreApplication::instance()->thread());
-+ connect(runner, SIGNAL(doMatch(Plasma::RunnerContext*)),
-+ this, SLOT(match(Plasma::RunnerContext*)),
-+ Qt::BlockingQueuedConnection);
-+}
-+
-+void PlacesRunnerHelper::match(Plasma::RunnerContext *c)
-+{
-+ Plasma::RunnerContext &context = *c;
-+ if (!context.isValid()) {
-+ return;
-+ }
-+
- const QString term = context.query();
-- QList<Plasma::QueryMatch> matches;
-
- if (term.length() < 3) {
- return;
- }
-
-+ QList<Plasma::QueryMatch> matches;
- const bool all = term.compare(i18n("places"), Qt::CaseInsensitive) == 0;
-- KFilePlacesModel places;
-- for (int i = 0; i <= places.rowCount(); i++) {
-- QModelIndex current_index = places.index(i, 0);
-+ for (int i = 0; i <= m_places.rowCount(); i++) {
-+ QModelIndex current_index = m_places.index(i, 0);
- Plasma::QueryMatch::Type type = Plasma::QueryMatch::NoMatch;
- qreal relevance = 0;
-
-- const QString text = places.text(current_index);
-+ const QString text = m_places.text(current_index);
- if ((all && !text.isEmpty()) || text.compare(term, Qt::CaseInsensitive) == 0) {
- type = Plasma::QueryMatch::ExactMatch;
- relevance = all ? 0.9 : 1.0;
-@@ -67,18 +100,18 @@ void PlacesRunner::match(Plasma::RunnerC
- }
-
- if (type != Plasma::QueryMatch::NoMatch) {
-- Plasma::QueryMatch match(this);
-+ Plasma::QueryMatch match(static_cast<PlacesRunner *>(parent()));
- match.setType(type);
- match.setRelevance(relevance);
-- match.setIcon(KIcon(places.icon(current_index)));
-+ match.setIcon(KIcon(m_places.icon(current_index)));
- match.setText(text);
-
- //if we have to mount it set the device udi instead of the URL, as we can't open it directly
- KUrl url;
-- if (places.isDevice(current_index) && places.setupNeeded(current_index)) {
-- url = places.deviceForIndex(current_index).udi();
-+ if (m_places.isDevice(current_index) && m_places.setupNeeded(current_index)) {
-+ url = m_places.deviceForIndex(current_index).udi();
- } else {
-- url = places.url(current_index);
-+ url = m_places.url(current_index);
- }
-
- match.setData(url);
---- a/plasma/generic/runners/places/placesrunner.h
-+++ b/plasma/generic/runners/places/placesrunner.h
-@@ -24,6 +24,22 @@
- #include <plasma/abstractrunner.h>
- #include <kfileplacesmodel.h>
-
-+class PlacesRunner;
-+
-+class PlacesRunnerHelper : public QObject
-+{
-+ Q_OBJECT
-+
-+public:
-+ PlacesRunnerHelper(PlacesRunner *runner);
-+
-+public Q_SLOTS:
-+ void match(Plasma::RunnerContext *context);
-+
-+private:
-+ KFilePlacesModel m_places;
-+};
-+
- class PlacesRunner : public Plasma::AbstractRunner
- {
- Q_OBJECT
-@@ -35,8 +51,14 @@ public:
- void match(Plasma::RunnerContext &context);
- void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &action);
-
-+Q_SIGNALS:
-+ void doMatch(Plasma::RunnerContext *context);
-+
- private slots:
- void setupComplete(QModelIndex, bool);
-+
-+private:
-+ PlacesRunnerHelper *m_helper;
- };
-
- K_EXPORT_PLASMA_RUNNER(placesrunner, PlacesRunner)
diff --git a/debian/patches/series b/debian/patches/series
index 00ec2bf..0e7fab2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,6 +12,5 @@
26_run_kaboom_when_starting_kde.diff
32_ksmserver_fadeeffect_use_sse2_free.diff
33_qguiplatformplugin_kde_NULL_check.diff
-34_backport_krunner_crash_fix_threading.diff
97_fix_target_link_libraries.diff
98_remove_malloc_check_r1217284.diff
--
KDE Base Workspace module packaging
More information about the pkg-kde-commits
mailing list