commit:     54f6bcbbc6fc2881578d1e1fd96ae0ff07f486b9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 20 12:28:03 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jan 20 13:24:19 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54f6bcbb

kde-frameworks/khtml: Fix crash in Wayland

Upstream commit 04aa1739d06d3ff7d16a3296fd27fa392d8ba318

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/khtml-5.90.0-fix-crash-in-wayland.patch  | 42 +++++++++++++
 kde-frameworks/khtml/khtml-5.90.0-r1.ebuild        | 73 ++++++++++++++++++++++
 2 files changed, 115 insertions(+)

diff --git a/kde-frameworks/khtml/files/khtml-5.90.0-fix-crash-in-wayland.patch 
b/kde-frameworks/khtml/files/khtml-5.90.0-fix-crash-in-wayland.patch
new file mode 100644
index 000000000000..c6ed34998037
--- /dev/null
+++ b/kde-frameworks/khtml/files/khtml-5.90.0-fix-crash-in-wayland.patch
@@ -0,0 +1,42 @@
+From 04aa1739d06d3ff7d16a3296fd27fa392d8ba318 Mon Sep 17 00:00:00 2001
+From: Christoph Cullmann <[email protected]>
+Date: Sat, 1 Jan 2022 23:42:16 +0100
+Subject: [PATCH] fix khtml crash in wayland session
+
+---
+ src/khtmlview.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/khtmlview.cpp b/src/khtmlview.cpp
+index 79f0d7c..75df959 100644
+--- a/src/khtmlview.cpp
++++ b/src/khtmlview.cpp
+@@ -69,6 +69,7 @@
+ #include <kstringhandler.h>
+ #include <kconfiggroup.h>
+ #include <ksharedconfig.h>
++#include <KWindowSystem>
+ 
+ #include <QBitmap>
+ #include <QDialog>
+@@ -1530,7 +1531,8 @@ void KHTMLView::mouseMoveEvent(QMouseEvent *_mouse)
+ 
+     if (linkCursor != LINK_NORMAL && isVisible() && hasFocus()) {
+ #if HAVE_X11
+-
++    // ensure we don't trigger this code paths if we run in a Wayland session
++    if (KWindowSystem::isPlatformX11()) {
+         if (!d->cursorIconWidget) {
+ #if HAVE_X11
+             d->cursorIconWidget = new QLabel(nullptr, 
Qt::X11BypassWindowManagerHint);
+@@ -1572,6 +1574,7 @@ void KHTMLView::mouseMoveEvent(QMouseEvent *_mouse)
+         //TODO?
+ #endif
+         d->cursorIconWidget->show();
++      }
+ #endif
+     } else if (d->cursorIconWidget) {
+         d->cursorIconWidget->hide();
+-- 
+GitLab
+

diff --git a/kde-frameworks/khtml/khtml-5.90.0-r1.ebuild 
b/kde-frameworks/khtml/khtml-5.90.0-r1.ebuild
new file mode 100644
index 000000000000..050f9c3112c9
--- /dev/null
+++ b/kde-frameworks/khtml/khtml-5.90.0-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="KHTML web rendering engine"
+LICENSE="LGPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="X"
+
+BDEPEND="
+       dev-lang/perl
+       dev-util/gperf
+"
+RDEPEND="
+       dev-libs/openssl:0
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+       >=dev-qt/qtprintsupport-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       =kde-frameworks/karchive-${PVCUT}*:5
+       =kde-frameworks/kcodecs-${PVCUT}*:5
+       =kde-frameworks/kcompletion-${PVCUT}*:5
+       =kde-frameworks/kconfig-${PVCUT}*:5
+       =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+       =kde-frameworks/kcoreaddons-${PVCUT}*:5
+       =kde-frameworks/kglobalaccel-${PVCUT}*:5
+       =kde-frameworks/ki18n-${PVCUT}*:5
+       =kde-frameworks/kiconthemes-${PVCUT}*:5
+       =kde-frameworks/kio-${PVCUT}*:5
+       =kde-frameworks/kjobwidgets-${PVCUT}*:5
+       =kde-frameworks/kjs-${PVCUT}*:5
+       =kde-frameworks/knotifications-${PVCUT}*:5
+       =kde-frameworks/kparts-${PVCUT}*:5
+       =kde-frameworks/kservice-${PVCUT}*:5
+       =kde-frameworks/ktextwidgets-${PVCUT}*:5
+       =kde-frameworks/kwallet-${PVCUT}*:5
+       =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+       =kde-frameworks/kwindowsystem-${PVCUT}*:5
+       =kde-frameworks/kxmlgui-${PVCUT}*:5
+       =kde-frameworks/sonnet-${PVCUT}*:5
+       media-libs/giflib:=
+       media-libs/libpng:0=
+       >=media-libs/phonon-4.11.0
+       sys-libs/zlib
+       virtual/jpeg:0
+       X? (
+               >=dev-qt/qtx11extras-${QTMIN}:5
+               x11-libs/libX11
+       )
+"
+DEPEND="${RDEPEND}
+       test? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
+       X? ( x11-base/xorg-proto )
+"
+
+PATCHES=( "${FILESDIR}/${P}-fix-crash-in-wayland.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package X X11)
+       )
+
+       ecm_src_configure
+}

Reply via email to