[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdiff3] src: Remove segfault due to painter not available
From:       Sven Fischer <null () kde ! org>
Date:       2018-08-30 14:02:07
Message-ID: E1fvNWR-0001J1-Q7 () code ! kde ! org
[Download RAW message or body]

Git commit 3edcd8f9ddf407ea04aa88e027ce59cbdc0eb683 by Sven Fischer.
Committed on 30/08/2018 at 14:02.
Pushed by svenfischer into branch 'master'.

Remove segfault due to painter not available

Summary:
QPainter was used after painter.end() was called. This led to a
segmentation fault.

Test Plan: Start a three-way-merge with small files. Segfault shall not occur.

Reviewers: mreeves

Reviewed By: mreeves

Differential Revision: https://phabricator.kde.org/D15051

M  +2    -1    src/mergeresultwindow.cpp

https://commits.kde.org/kdiff3/3edcd8f9ddf407ea04aa88e027ce59cbdc0eb683

diff --git a/src/mergeresultwindow.cpp b/src/mergeresultwindow.cpp
index 26919b9..ca8878f 100644
--- a/src/mergeresultwindow.cpp
+++ b/src/mergeresultwindow.cpp
@@ -1975,7 +1975,6 @@ void MergeResultWindow::paintEvent(QPaintEvent*)
         painter.drawPixmap(0, 0, m_pixmap); // Draw everything. (Internally cursor \
rect is clipped anyway.)  m_bCursorUpdate = false;
     }
-    painter.end();
 
     if(m_bCursorOn && hasFocus() && m_cursorYPos >= m_firstLine)
     {
@@ -1987,6 +1986,8 @@ void MergeResultWindow::paintEvent(QPaintEvent*)
         textLayout.drawCursor(&painter, QPointF(0, (m_cursorYPos - m_firstLine) * \
fontMetrics().lineSpacing()), m_cursorXPos);  }
 
+    painter.end();
+
     if(!bOldSelectionContainsData && m_selection.selectionContainsData())
         emit newSelection();
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic