summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-base/katepart/files')
-rw-r--r--kde-base/katepart/files/katepart-4.10.4-crash.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/kde-base/katepart/files/katepart-4.10.4-crash.patch b/kde-base/katepart/files/katepart-4.10.4-crash.patch
new file mode 100644
index 000000000000..b8c618be0c2c
--- /dev/null
+++ b/kde-base/katepart/files/katepart-4.10.4-crash.patch
@@ -0,0 +1,51 @@
+From d2e34218068432ba9c312591067e53eda67cb68a Mon Sep 17 00:00:00 2001
+From: Dominik Haumann <dhaumann@kde.org>
+Date: Wed, 12 Jun 2013 22:30:32 +0200
+Subject: [PATCH] fix crash in passive notification system
+
+@packagers / distributions: Better backport this to you 4.10.4 packages.
+
+FIXED-IN: 4.10.5
+BUG: 320302
+---
+ part/view/katemessagewidget.cpp | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/part/view/katemessagewidget.cpp b/part/view/katemessagewidget.cpp
+index d3c895f..6c227c0 100644
+--- a/part/view/katemessagewidget.cpp
++++ b/part/view/katemessagewidget.cpp
+@@ -225,11 +225,28 @@ void KateMessageWidget::startAutoHideTimer()
+ return;
+ }
+
++ // switching KateViews may result isVisible() == true and still m_messageList.size() == 0.
++ // The problem is that the hideEvent is never called for the KMessageWidget, if the
++ // parent widget is hidden. In that case, we 'miss' that the notification is gone...
++ if (m_messageList.size() == 0) {
++ m_hideAnimationRunning = false;
++ m_autoHideTimerRunning = false;
++ m_autoHideTime = -1;
++
++ if (isVisible()) {
++ m_hideAnimationRunning = true;
++ if (m_fadeEffect) {
++ m_fadeEffect->fadeOut();
++ } else {
++ m_messageWidget->animatedHide();
++ }
++ }
++ return;
++ }
++
+ // remember that auto hide timer is running
+ m_autoHideTimerRunning = true;
+
+- // the message must still still be valid
+- Q_ASSERT(m_messageList.size());
+ KTextEditor::Message* message = m_messageList[0];
+ QTimer::singleShot(m_autoHideTime == 0 ? (6*1000) : m_autoHideTime, message, SLOT(deleteLater()));
+ }
+--
+1.8.2.1
+