Re-enable CSD backports from Qt6 (will be used by QGnomePlatform)
This commit is contained in:
parent
665dd1a06b
commit
137ccdd1d4
@ -3,7 +3,7 @@
|
|||||||
Summary: Qt5 - Wayland platform support and QtCompositor module
|
Summary: Qt5 - Wayland platform support and QtCompositor module
|
||||||
Name: qt5-%{qt_module}
|
Name: qt5-%{qt_module}
|
||||||
Version: 5.15.5
|
Version: 5.15.5
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
|
|
||||||
License: LGPLv3
|
License: LGPLv3
|
||||||
Url: http://www.qt.io
|
Url: http://www.qt.io
|
||||||
@ -62,8 +62,8 @@ Patch50: 0050-Client-set-constraint-adjustments-for-popups-in-xdg.patch
|
|||||||
Patch100: 0100-Keep-toplevel-windows-in-the-top-left-corner-of-the-screen.patch
|
Patch100: 0100-Keep-toplevel-windows-in-the-top-left-corner-of-the-screen.patch
|
||||||
|
|
||||||
# Disable for now, there is a Qt bug making this broken
|
# Disable for now, there is a Qt bug making this broken
|
||||||
# Patch102: qtwayland-decoration-support-backports-from-qt6.patch
|
Patch102: qtwayland-decoration-support-backports-from-qt6.patch
|
||||||
Patch103: qtwayland-client-expose-toplevel-window-state.patch
|
# Patch103: qtwayland-client-expose-toplevel-window-state.patch
|
||||||
|
|
||||||
# Upstreamable patches
|
# Upstreamable patches
|
||||||
|
|
||||||
@ -172,6 +172,9 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Aug 25 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.5-4
|
||||||
|
- Re-enable CSD backports from Qt6 (will be used by QGnomePlatform)
|
||||||
|
|
||||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.5-3
|
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.5-3
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git a/src/client/qwaylandabstractdecoration_p.h b/src/client/qwaylandabstractdecoration_p.h
|
diff --git a/src/client/qwaylandabstractdecoration_p.h b/src/client/qwaylandabstractdecoration_p.h
|
||||||
index 81c8e177..61cbde77 100644
|
index 81c8e17..61cbde7 100644
|
||||||
--- a/src/client/qwaylandabstractdecoration_p.h
|
--- a/src/client/qwaylandabstractdecoration_p.h
|
||||||
+++ b/src/client/qwaylandabstractdecoration_p.h
|
+++ b/src/client/qwaylandabstractdecoration_p.h
|
||||||
@@ -82,6 +82,12 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandAbstractDecoration : public QObject
|
@@ -82,6 +82,12 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandAbstractDecoration : public QObject
|
||||||
@ -26,10 +26,10 @@ index 81c8e177..61cbde77 100644
|
|||||||
const QImage &contentImage();
|
const QImage &contentImage();
|
||||||
|
|
||||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
||||||
index bd70f4af..0e819235 100644
|
index ec232cd..54b27f1 100644
|
||||||
--- a/src/client/qwaylandwindow.cpp
|
--- a/src/client/qwaylandwindow.cpp
|
||||||
+++ b/src/client/qwaylandwindow.cpp
|
+++ b/src/client/qwaylandwindow.cpp
|
||||||
@@ -380,6 +380,16 @@ void QWaylandWindow::setGeometry(const QRect &rect)
|
@@ -383,6 +383,16 @@ void QWaylandWindow::setGeometry(const QRect &r)
|
||||||
void QWaylandWindow::resizeFromApplyConfigure(const QSize &sizeWithMargins, const QPoint &offset)
|
void QWaylandWindow::resizeFromApplyConfigure(const QSize &sizeWithMargins, const QPoint &offset)
|
||||||
{
|
{
|
||||||
QMargins margins = frameMargins();
|
QMargins margins = frameMargins();
|
||||||
@ -46,7 +46,7 @@ index bd70f4af..0e819235 100644
|
|||||||
int widthWithoutMargins = qMax(sizeWithMargins.width() - (margins.left() + margins.right()), 1);
|
int widthWithoutMargins = qMax(sizeWithMargins.width() - (margins.left() + margins.right()), 1);
|
||||||
int heightWithoutMargins = qMax(sizeWithMargins.height() - (margins.top() + margins.bottom()), 1);
|
int heightWithoutMargins = qMax(sizeWithMargins.height() - (margins.top() + margins.bottom()), 1);
|
||||||
QRect geometry(windowGeometry().topLeft(), QSize(widthWithoutMargins, heightWithoutMargins));
|
QRect geometry(windowGeometry().topLeft(), QSize(widthWithoutMargins, heightWithoutMargins));
|
||||||
@@ -690,7 +700,12 @@ QSize QWaylandWindow::surfaceSize() const
|
@@ -710,7 +720,12 @@ QSize QWaylandWindow::surfaceSize() const
|
||||||
*/
|
*/
|
||||||
QRect QWaylandWindow::windowContentGeometry() const
|
QRect QWaylandWindow::windowContentGeometry() const
|
||||||
{
|
{
|
||||||
@ -60,8 +60,8 @@ index bd70f4af..0e819235 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -1079,6 +1094,21 @@ bool QWaylandWindow::setMouseGrabEnabled(bool grab)
|
@@ -1111,6 +1126,16 @@ Qt::WindowStates QWaylandWindow::windowStates() const
|
||||||
return true;
|
return mLastReportedWindowStates;
|
||||||
}
|
}
|
||||||
|
|
||||||
+QWaylandWindow::ToplevelWindowTilingStates QWaylandWindow::toplevelWindowTilingStates() const
|
+QWaylandWindow::ToplevelWindowTilingStates QWaylandWindow::toplevelWindowTilingStates() const
|
||||||
@ -73,17 +73,12 @@ index bd70f4af..0e819235 100644
|
|||||||
+{
|
+{
|
||||||
+ mLastReportedToplevelWindowTilingStates = states;
|
+ mLastReportedToplevelWindowTilingStates = states;
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
+Qt::WindowStates QWaylandWindow::windowStates() const
|
|
||||||
+{
|
|
||||||
+ return mLastReportedWindowStates;
|
|
||||||
+}
|
|
||||||
+
|
+
|
||||||
void QWaylandWindow::handleWindowStatesChanged(Qt::WindowStates states)
|
void QWaylandWindow::handleWindowStatesChanged(Qt::WindowStates states)
|
||||||
{
|
{
|
||||||
createDecoration();
|
createDecoration();
|
||||||
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
|
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
|
||||||
index 6cc1664b..93ba0623 100644
|
index 1907f10..33a3b83 100644
|
||||||
--- a/src/client/qwaylandwindow_p.h
|
--- a/src/client/qwaylandwindow_p.h
|
||||||
+++ b/src/client/qwaylandwindow_p.h
|
+++ b/src/client/qwaylandwindow_p.h
|
||||||
@@ -95,6 +95,15 @@ public:
|
@@ -95,6 +95,15 @@ public:
|
||||||
@ -102,18 +97,17 @@ index 6cc1664b..93ba0623 100644
|
|||||||
QWaylandWindow(QWindow *window, QWaylandDisplay *display);
|
QWaylandWindow(QWindow *window, QWaylandDisplay *display);
|
||||||
~QWaylandWindow() override;
|
~QWaylandWindow() override;
|
||||||
|
|
||||||
@@ -145,6 +154,10 @@ public:
|
@@ -148,6 +157,9 @@ public:
|
||||||
void handleContentOrientationChange(Qt::ScreenOrientation orientation) override;
|
void handleContentOrientationChange(Qt::ScreenOrientation orientation) override;
|
||||||
void setOrientationMask(Qt::ScreenOrientations mask);
|
void setOrientationMask(Qt::ScreenOrientations mask);
|
||||||
|
|
||||||
+ ToplevelWindowTilingStates toplevelWindowTilingStates() const;
|
+ ToplevelWindowTilingStates toplevelWindowTilingStates() const;
|
||||||
+ void handleToplevelWindowTilingStatesChanged(ToplevelWindowTilingStates states);
|
+ void handleToplevelWindowTilingStatesChanged(ToplevelWindowTilingStates states);
|
||||||
+
|
+
|
||||||
+ Qt::WindowStates windowStates() const;
|
|
||||||
void setWindowState(Qt::WindowStates states) override;
|
void setWindowState(Qt::WindowStates states) override;
|
||||||
void setWindowFlags(Qt::WindowFlags flags) override;
|
void setWindowFlags(Qt::WindowFlags flags) override;
|
||||||
void handleWindowStatesChanged(Qt::WindowStates states);
|
void handleWindowStatesChanged(Qt::WindowStates states);
|
||||||
@@ -256,6 +269,7 @@ protected:
|
@@ -260,6 +272,7 @@ protected:
|
||||||
QRegion mMask;
|
QRegion mMask;
|
||||||
QRegion mOpaqueArea;
|
QRegion mOpaqueArea;
|
||||||
Qt::WindowStates mLastReportedWindowStates = Qt::WindowNoState;
|
Qt::WindowStates mLastReportedWindowStates = Qt::WindowNoState;
|
||||||
@ -121,7 +115,7 @@ index 6cc1664b..93ba0623 100644
|
|||||||
|
|
||||||
QWaylandShmBackingStore *mBackingStore = nullptr;
|
QWaylandShmBackingStore *mBackingStore = nullptr;
|
||||||
QWaylandBuffer *mQueuedBuffer = nullptr;
|
QWaylandBuffer *mQueuedBuffer = nullptr;
|
||||||
@@ -292,6 +306,8 @@ private:
|
@@ -296,6 +309,8 @@ private:
|
||||||
friend class QWaylandSubSurface;
|
friend class QWaylandSubSurface;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -131,7 +125,7 @@ index 6cc1664b..93ba0623 100644
|
|||||||
{
|
{
|
||||||
return mWindowIcon;
|
return mWindowIcon;
|
||||||
diff --git a/src/plugins/decorations/bradient/main.cpp b/src/plugins/decorations/bradient/main.cpp
|
diff --git a/src/plugins/decorations/bradient/main.cpp b/src/plugins/decorations/bradient/main.cpp
|
||||||
index e75fda3c..72dda67f 100644
|
index e75fda3..72dda67 100644
|
||||||
--- a/src/plugins/decorations/bradient/main.cpp
|
--- a/src/plugins/decorations/bradient/main.cpp
|
||||||
+++ b/src/plugins/decorations/bradient/main.cpp
|
+++ b/src/plugins/decorations/bradient/main.cpp
|
||||||
@@ -72,7 +72,7 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandBradientDecoration : public QWaylandAbstra
|
@@ -72,7 +72,7 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandBradientDecoration : public QWaylandAbstra
|
||||||
@ -157,18 +151,18 @@ index e75fda3c..72dda67f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
||||||
index 7d33dabd..cf7eb4e9 100644
|
index 2666df2..8d8ac85 100644
|
||||||
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
||||||
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
||||||
@@ -94,6 +94,7 @@ void QWaylandXdgSurface::Toplevel::applyConfigure()
|
@@ -88,6 +88,7 @@ void QWaylandXdgSurface::Toplevel::applyConfigure()
|
||||||
// TODO: none of the other plugins send WindowActive either, but is it on purpose?
|
&& !m_xdgSurface->m_window->display()->isKeyboardAvailable())
|
||||||
Qt::WindowStates statesWithoutActive = m_pending.states & ~Qt::WindowActive;
|
m_xdgSurface->m_window->display()->handleWindowDeactivated(m_xdgSurface->m_window);
|
||||||
|
|
||||||
+ m_xdgSurface->m_window->handleToplevelWindowTilingStatesChanged(m_toplevelStates);
|
+ m_xdgSurface->m_window->handleToplevelWindowTilingStatesChanged(m_toplevelStates);
|
||||||
m_xdgSurface->m_window->handleWindowStatesChanged(statesWithoutActive);
|
m_xdgSurface->m_window->handleWindowStatesChanged(m_pending.states);
|
||||||
|
|
||||||
if (m_pending.size.isEmpty()) {
|
if (m_pending.size.isEmpty()) {
|
||||||
@@ -126,6 +127,7 @@ void QWaylandXdgSurface::Toplevel::xdg_toplevel_configure(int32_t width, int32_t
|
@@ -120,6 +121,7 @@ void QWaylandXdgSurface::Toplevel::xdg_toplevel_configure(int32_t width, int32_t
|
||||||
size_t numStates = states->size / sizeof(uint32_t);
|
size_t numStates = states->size / sizeof(uint32_t);
|
||||||
|
|
||||||
m_pending.states = Qt::WindowNoState;
|
m_pending.states = Qt::WindowNoState;
|
||||||
@ -176,7 +170,7 @@ index 7d33dabd..cf7eb4e9 100644
|
|||||||
|
|
||||||
for (size_t i = 0; i < numStates; i++) {
|
for (size_t i = 0; i < numStates; i++) {
|
||||||
switch (xdgStates[i]) {
|
switch (xdgStates[i]) {
|
||||||
@@ -138,6 +140,18 @@ void QWaylandXdgSurface::Toplevel::xdg_toplevel_configure(int32_t width, int32_t
|
@@ -132,6 +134,18 @@ void QWaylandXdgSurface::Toplevel::xdg_toplevel_configure(int32_t width, int32_t
|
||||||
case XDG_TOPLEVEL_STATE_FULLSCREEN:
|
case XDG_TOPLEVEL_STATE_FULLSCREEN:
|
||||||
m_pending.states |= Qt::WindowFullScreen;
|
m_pending.states |= Qt::WindowFullScreen;
|
||||||
break;
|
break;
|
||||||
@ -195,7 +189,7 @@ index 7d33dabd..cf7eb4e9 100644
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -457,7 +471,7 @@ void QWaylandXdgSurface::xdg_surface_configure(uint32_t serial)
|
@@ -458,7 +472,7 @@ void QWaylandXdgSurface::xdg_surface_configure(uint32_t serial)
|
||||||
}
|
}
|
||||||
|
|
||||||
QWaylandXdgShell::QWaylandXdgShell(QWaylandDisplay *display, uint32_t id, uint32_t availableVersion)
|
QWaylandXdgShell::QWaylandXdgShell(QWaylandDisplay *display, uint32_t id, uint32_t availableVersion)
|
||||||
@ -205,7 +199,7 @@ index 7d33dabd..cf7eb4e9 100644
|
|||||||
{
|
{
|
||||||
display->addRegistryListener(&QWaylandXdgShell::handleRegistryGlobal, this);
|
display->addRegistryListener(&QWaylandXdgShell::handleRegistryGlobal, this);
|
||||||
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
|
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
|
||||||
index 0c98be35..d7912132 100644
|
index 0c98be3..d791213 100644
|
||||||
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
|
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
|
||||||
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
|
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
|
||||||
@@ -58,6 +58,7 @@
|
@@ -58,6 +58,7 @@
|
||||||
|
Loading…
Reference in New Issue
Block a user