commit:     8db345fe63a72a60df25699e7f182634404a3e8f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 25 12:59:11 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 25 21:23:17 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8db345fe

kde-apps/konsole: Fix cursor w/ antialising

Follow-up to 6984d3c, fixed in 18.12.1.

Thanks-to: Lars Wendler <polynomial-c <AT> gentoo.org>
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../konsole/files/konsole-18.12.0-fix-cursor.patch | 58 ++++++++++++++++++++
 kde-apps/konsole/konsole-18.12.0-r2.ebuild         | 62 ++++++++++++++++++++++
 2 files changed, 120 insertions(+)

diff --git a/kde-apps/konsole/files/konsole-18.12.0-fix-cursor.patch 
b/kde-apps/konsole/files/konsole-18.12.0-fix-cursor.patch
new file mode 100644
index 00000000000..36aabaaccc5
--- /dev/null
+++ b/kde-apps/konsole/files/konsole-18.12.0-fix-cursor.patch
@@ -0,0 +1,58 @@
+From b48ecb5712037027e6385515c9eced7fabfc3dc3 Mon Sep 17 00:00:00 2001
+From: "Martin T. H. Sandsmark" <[email protected]>
+Date: Mon, 10 Dec 2018 10:09:35 -0500
+Subject: fix cursor when anti aliasing is enabled
+
+Summary:
+When there is a margin of 1 pixel, but some of the anti-aliasing
+"blur" leaks to 0,0. so it is fixed with a full update() (e. g. when
+it regains focus), but not when just some content updates in the
+window.   Without this it draws outside the content rect, most
+visible as a vertical line if the cursor is completely to the left and
+then moves.
+
+Reviewers: #konsole, hindenburg
+
+Reviewed By: #konsole, hindenburg
+
+Subscribers: pbraun, konsole-devel, #konsole
+
+Tags: #konsole
+
+Differential Revision: https://phabricator.kde.org/D17414
+
+(cherry picked from commit e7085310d6d594823d0ed491fa8bdbd99dec4932)
+---
+ src/TerminalDisplay.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
+index 6e8b262..64c831c 100644
+--- a/src/TerminalDisplay.cpp
++++ b/src/TerminalDisplay.cpp
+@@ -933,7 +933,7 @@ void TerminalDisplay::drawCursor(QPainter& painter,
+ 
+     // shift rectangle top down one pixel to leave some space
+     // between top and bottom
+-    QRect cursorRect = rect.adjusted(0, 1, 0, 0);
++    QRectF cursorRect = rect.adjusted(0, 1, 0, 0);
+ 
+     QColor cursorColor = _cursorColor.isValid() ? _cursorColor : 
foregroundColor;
+     painter.setPen(cursorColor);
+@@ -942,10 +942,10 @@ void TerminalDisplay::drawCursor(QPainter& painter,
+         // draw the cursor outline, adjusting the area so that
+         // it is draw entirely inside 'rect'
+         int penWidth = qMax(1, painter.pen().width());
+-        painter.drawRect(cursorRect.adjusted(penWidth / 2,
+-                                             penWidth / 2,
+-                                             - penWidth / 2 - penWidth % 2,
+-                                             - penWidth / 2 - penWidth % 2));
++        painter.drawRect(cursorRect.adjusted(penWidth / 2 + 0.5,
++                                             penWidth / 2 + 0.5,
++                                             - penWidth / 2 - penWidth % 2 + 
0.5,
++                                             - penWidth / 2 - penWidth % 2 + 
0.5));
+ 
+         // draw the cursor body only when the widget has focus
+         if (hasFocus()) {
+-- 
+cgit v1.1

diff --git a/kde-apps/konsole/konsole-18.12.0-r2.ebuild 
b/kde-apps/konsole/konsole-18.12.0-r2.ebuild
new file mode 100644
index 00000000000..abc36ad9309
--- /dev/null
+++ b/kde-apps/konsole/konsole-18.12.0-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="optional"
+KDE_TEST="true"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="KDE's terminal emulator"
+HOMEPAGE="https://www.kde.org/applications/system/konsole 
https://konsole.kde.org";
+
+KEYWORDS="~amd64 ~x86"
+IUSE="X"
+
+DEPEND="
+       $(add_frameworks_dep kbookmarks)
+       $(add_frameworks_dep kcompletion)
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kcrash)
+       $(add_frameworks_dep kdbusaddons)
+       $(add_frameworks_dep kguiaddons)
+       $(add_frameworks_dep kjobwidgets)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kinit)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep knewstuff)
+       $(add_frameworks_dep knotifications)
+       $(add_frameworks_dep knotifyconfig)
+       $(add_frameworks_dep kparts)
+       $(add_frameworks_dep kpty)
+       $(add_frameworks_dep kservice)
+       $(add_frameworks_dep ktextwidgets)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kwindowsystem)
+       $(add_frameworks_dep kxmlgui)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtnetwork)
+       $(add_qt_dep qtprintsupport)
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtxml)
+       X? ( x11-libs/libX11 )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-fix-drawing-box-chars.patch" # fixed in 18.12.1
+       "${FILESDIR}/${P}-fix-cursor.patch" # fixed in 18.12.1
+)
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package X X11)
+       )
+
+       kde5_src_configure
+}

Reply via email to