diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2022-11-11 21:59:08 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2022-11-12 00:17:00 +0100 |
commit | 6b50e652026faaf86a6703bc0757d7909accb31e (patch) | |
tree | 7e8f93108753df4c5be23e49d2f171b5eb2b94ae /media-libs/phonon-gstreamer/files/phonon-gstreamer-4.10.0-wayland.patch | |
parent | sys-auth/polkit-qt: Fix memory leak (diff) | |
download | gentoo-6b50e652026faaf86a6703bc0757d7909accb31e.tar.gz gentoo-6b50e652026faaf86a6703bc0757d7909accb31e.tar.bz2 gentoo-6b50e652026faaf86a6703bc0757d7909accb31e.zip |
media-libs/phonon-gstreamer: EAPI-8 bump, fix open/save dialog in Wayland
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=445196
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-libs/phonon-gstreamer/files/phonon-gstreamer-4.10.0-wayland.patch')
-rw-r--r-- | media-libs/phonon-gstreamer/files/phonon-gstreamer-4.10.0-wayland.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/media-libs/phonon-gstreamer/files/phonon-gstreamer-4.10.0-wayland.patch b/media-libs/phonon-gstreamer/files/phonon-gstreamer-4.10.0-wayland.patch new file mode 100644 index 000000000000..ef1697a8395a --- /dev/null +++ b/media-libs/phonon-gstreamer/files/phonon-gstreamer-4.10.0-wayland.patch @@ -0,0 +1,46 @@ +From bbbb160f30a394655cff9398d17961142388b0f2 Mon Sep 17 00:00:00 2001 +From: David Edmundson <kde@davidedmundson.co.uk> +Date: Wed, 17 Nov 2021 15:20:08 +0000 +Subject: [PATCH] Only create window handles for actual windows + +winId() creates a platform window for the given widget. This makes sense +for the topmost widget in a tree, we can't assume the parent widget is +the topmost widget. + +Doing this on XCB is confusing and wrong, but apparently harmless. Doing +this on wayland causes issues as we promote the parent window to a +subsurface but never show that window leaving things in a bizarre +corrupt state that leads to content not updating. + +BUG: 445196 +--- + gstreamer/videowidget.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gstreamer/videowidget.cpp b/gstreamer/videowidget.cpp +index bd27b21f..83fa9b9e 100644 +--- a/gstreamer/videowidget.cpp ++++ b/gstreamer/videowidget.cpp +@@ -158,7 +158,7 @@ void VideoWidget::setupVideoBin() + gst_object_unref(videopad); + QWidget *parentWidget = qobject_cast<QWidget*>(parent()); + if (parentWidget) { +- parentWidget->winId(); // Due to some existing issues with alien in 4.4, ++ parentWidget->window()->winId(); // Due to some existing issues with alien in 4.4, + // we must currently force the creation of a parent widget. + } + m_isValid = true; //initialization ok, accept input +@@ -171,8 +171,8 @@ void VideoWidget::setupVideoBin() + gst_object_unref(videopad); + QWidget *parentWidget = qobject_cast<QWidget*>(parent()); + if (parentWidget) { +- parentWidget->winId(); // Due to some existing issues with alien in 4.4, +- // we must currently force the creation of a parent widget. ++ parentWidget->window()->winId(); // Due to some existing issues with alien in 4.4, ++ // we must currently force the creation of a parent widget's window + } + m_isValid = true; //initialization ok, accept input + } +-- +GitLab + |