Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
pmaports
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
postmarketOS
pmaports
Commits
d47c83f5
Unverified
Commit
d47c83f5
authored
5 years ago
by
Bart Ribbers
Committed by
Oliver Smith
5 years ago
Browse files
Options
Downloads
Patches
Plain Diff
temp/qt5-qtwayland: remove, patches are in upstream (
!632
)
parent
40c1e90f
Branches
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#198439
passed
5 years ago
Stage: first
Stage: second
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
temp/qt5-qtwayland/265999.patch
+0
-93
0 additions, 93 deletions
temp/qt5-qtwayland/265999.patch
temp/qt5-qtwayland/APKBUILD
+0
-46
0 additions, 46 deletions
temp/qt5-qtwayland/APKBUILD
with
0 additions
and
139 deletions
temp/qt5-qtwayland/265999.patch
deleted
100644 → 0
+
0
−
93
View file @
40c1e90f
From e6edc73942a76e57e7ac745217092333480f2c64 Mon Sep 17 00:00:00 2001
From: David Edmundson <davidedmundson@kde.org>
Date: Sun, 23 Jun 2019 15:09:51 +0200
Subject: [PATCH] Client: Don't send fake SurfaceCreated/Destroyed events
QPlatformSurface relates to the backing store. Not the wl_surface.
They are emitted by QPlatformWindow.
Due to a previously incorrect usage by KDE developers it was faked to
emit the events when the wl_surface is created/hidden to keep behavior.
With QtBase a9246c7132a2c8864d3ae6cebd260bb9ee711fcb this now causes an
issue as now QWidgets react to this event in a breaking way.
Change-Id: I2f003bc9da85f032a0053677fd281152099fc9eb
---
.../wayland/custom-extension/client-common/customextension.cpp | 9 +++++++--
src/client/qwaylandwindow.cpp | 10 ++--------
src/client/qwaylandwindow_p.h | 2 +-
3 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/examples/wayland/custom-extension/client-common/customextension.cpp b/examples/wayland/custom-extension/client-common/customextension.cpp
index aa0cb58a4..16f18fd7a 100644
--- a/examples/wayland/custom-extension/client-common/customextension.cpp
+++ b/examples/wayland/custom-extension/client-common/customextension.cpp
@@ -81,8 +81,13 @@
QWindow *CustomExtension::windowForSurface(struct ::wl_surface *surface)
bool CustomExtension::eventFilter(QObject *object, QEvent *event)
{
- if (event->type() == QEvent::PlatformSurface
- && static_cast<QPlatformSurfaceEvent*>(event)->surfaceEventType() == QPlatformSurfaceEvent::SurfaceCreated) {
+ if (event->type() == QEvent::Expose) {
+ auto ee = static_cast<QExposeEvent*>(event);
+
+ if ((ee->region().isNull())) {
+ return false;
+ }
+
QWindow *window = qobject_cast<QWindow*>(object);
Q_ASSERT(window);
window->removeEventFilter(this);
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index ca7c8495c..a6331621d 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -93,7 +93,7 @@
QWaylandWindow::~QWaylandWindow()
delete mWindowDecoration;
if (isInitialized())
- reset(false);
+ reset();
const QWindow *parent = window();
foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
@@ -119,8 +119,6 @@
void QWaylandWindow::initWindow()
if (!isInitialized()) {
initializeWlSurface();
- QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceCreated);
- QGuiApplication::sendEvent(window(), &e);
}
if (shouldCreateSubSurface()) {
@@ -227,12 +225,8 @@
bool QWaylandWindow::shouldCreateSubSurface() const
return QPlatformWindow::parent() != nullptr;
}
-void QWaylandWindow::reset(bool sendDestroyEvent)
+void QWaylandWindow::reset()
{
- if (isInitialized() && sendDestroyEvent) {
- QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed);
- QGuiApplication::sendEvent(window(), &e);
- }
delete mShellSurface;
mShellSurface = nullptr;
delete mSubSurfaceWindow;
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
index 121ad8219..ba69fd9dc 100644
--- a/src/client/qwaylandwindow_p.h
+++ b/src/client/qwaylandwindow_p.h
@@ -263,7 +263,7 @@
private:
void initializeWlSurface();
bool shouldCreateShellSurface() const;
bool shouldCreateSubSurface() const;
- void reset(bool sendDestroyEvent = true);
+ void reset();
void sendExposeEvent(const QRect &rect);
static void closePopups(QWaylandWindow *parent);
QWaylandScreen *calculateScreenFromSurfaceEvents() const;
--
2.16.3
This diff is collapsed.
Click to expand it.
temp/qt5-qtwayland/APKBUILD
deleted
100644 → 0
+
0
−
46
View file @
40c1e90f
# Forked from Alpine to add patches which prevent Plasma Mobile from crashing
pkgname
=
qt5-qtwayland
_pkgname
=
"
${
pkgname
/qt5-/
}
-everywhere-src"
pkgver
=
9999
_pkgver
=
5.12.5
pkgrel
=
2
arch
=
"all"
url
=
"http://qt-project.org/"
license
=
"LGPL-2.0 with exceptions or GPL-3.0 with exceptions"
pkgdesc
=
'Provides APIs for Wayland'
makedepends
=
"
$depends_dev
libxkbcommon-dev libxcomposite-dev
qt5-qtquickcontrols2-dev qt5-qtdeclarative-dev qt5-qtbase-dev wayland-dev"
subpackages
=
"
$pkgname
-dev
$pkgname
-doc"
builddir
=
"
$srcdir
/
$_pkgname
-
$_pkgver
"
case
$_pkgver
in
*
_beta
*
|
*
_rc
*
)
_rel
=
development_releases
;;
*
)
_rel
=
official_releases
;;
esac
source
=
"http://download.qt.io/
$_rel
/qt/
${
_pkgver
%.*
}
/
${
_pkgver
}
/submodules/
$_pkgname
-
$_pkgver
.tar.xz
265999.patch"
build
()
{
qmake-qt5
make
}
check
()
{
cd
"
$builddir
"
make check
}
package
()
{
cd
"
$builddir
"
make
INSTALL_ROOT
=
"
$pkgdir
"
install
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
find
"
$pkgdir
/usr/lib"
-type
f
-name
'*.prl'
\
-exec
sed
-i
-e
'/^QMAKE_PRL_BUILD_DIR/d'
{}
\;
install
-d
"
$pkgdir
"
/usr/share/licenses
ln
-s
/usr/share/licenses/qt5-base
"
$pkgdir
"
/usr/share/licenses/
$pkgname
}
sha512sums
=
"19e19b3d6226839856f8e8792665eda1f09f0bbf95a38077bdf2831205ee09254c8df6a521ba3f5a228bcd98c4d1929a2bd9e9aa2f6f14c218d4d7458d1a866c qtwayland-everywhere-src-5.12.5.tar.xz
e0962e279abff5e66a4676c0570682f1c6f2e9032295bce24467c0d1841f9fe9af19bf84c0034f2f4c0cf5e7afc9e07b5032239d7b0f0b5df4e932eb5e4835bf 265999.patch"
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment