Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package layer-shell-qt6 for openSUSE:Factory checked in at 2024-04-18 22:11:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/layer-shell-qt6 (Old) and /work/SRC/openSUSE:Factory/.layer-shell-qt6.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "layer-shell-qt6" Thu Apr 18 22:11:28 2024 rev:4 rq:1168746 version:6.0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/layer-shell-qt6/layer-shell-qt6.changes 2024-03-28 14:14:51.382694786 +0100 +++ /work/SRC/openSUSE:Factory/.layer-shell-qt6.new.26366/layer-shell-qt6.changes 2024-04-18 22:12:27.045138738 +0200 @@ -1,0 +2,12 @@ +Wed Apr 17 08:12:48 UTC 2024 - Fabian Vogt <fab...@ritter-vogt.de> + +- Update to 6.0.4: + * New bugfix release + * For more details see https://kde.org/announcements/plasma/6/6.0.4 +- Changes since 6.0.3: + * Use QWaylandWindow::windowContentGeometry() to set the initial preferred size + * Update the desired size when the anchors change (kde#484990) + * Guard against calling set_size while applying a configure event more explicitly + * update version for new release + +------------------------------------------------------------------- Old: ---- layer-shell-qt-6.0.3.tar.xz layer-shell-qt-6.0.3.tar.xz.sig New: ---- layer-shell-qt-6.0.4.tar.xz layer-shell-qt-6.0.4.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ layer-shell-qt6.spec ++++++ --- /var/tmp/diff_new_pack.cnZuYL/_old 2024-04-18 22:12:27.733164023 +0200 +++ /var/tmp/diff_new_pack.cnZuYL/_new 2024-04-18 22:12:27.733164023 +0200 @@ -27,7 +27,7 @@ %define rname layer-shell-qt %bcond_without released Name: layer-shell-qt6 -Version: 6.0.3 +Version: 6.0.4 Release: 0 Summary: wlr-layer-shell integration for Qt License: LGPL-3.0-or-later ++++++ layer-shell-qt-6.0.3.tar.xz -> layer-shell-qt-6.0.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/layer-shell-qt-6.0.3/CMakeLists.txt new/layer-shell-qt-6.0.4/CMakeLists.txt --- old/layer-shell-qt-6.0.3/CMakeLists.txt 2024-03-26 16:03:01.000000000 +0100 +++ new/layer-shell-qt-6.0.4/CMakeLists.txt 2024-04-16 12:36:11.000000000 +0200 @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) project(layershellqt) -set(PROJECT_VERSION "6.0.3") +set(PROJECT_VERSION "6.0.4") set(PROJECT_VERSION_MAJOR 6) set(CMAKE_C_STANDARD 99) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/layer-shell-qt-6.0.3/src/qwaylandlayersurface.cpp new/layer-shell-qt-6.0.4/src/qwaylandlayersurface.cpp --- old/layer-shell-qt-6.0.3/src/qwaylandlayersurface.cpp 2024-03-26 16:03:01.000000000 +0100 +++ new/layer-shell-qt-6.0.4/src/qwaylandlayersurface.cpp 2024-04-16 12:36:11.000000000 +0200 @@ -41,10 +41,12 @@ setLayer(m_interface->layer()); }); - set_anchor(m_interface->anchors()); + setAnchor(m_interface->anchors()); connect(m_interface, &Window::anchorsChanged, this, [this]() { - set_anchor(m_interface->anchors()); + setAnchor(m_interface->anchors()); + setDesiredSize(m_window->windowContentGeometry().size()); }); + setExclusiveZone(m_interface->exclusionZone()); connect(m_interface, &Window::exclusionZoneChanged, this, [this]() { setExclusiveZone(m_interface->exclusionZone()); @@ -64,17 +66,7 @@ setKeyboardInteractivity(m_interface->keyboardInteractivity()); }); - QSize size = window->surfaceSize(); - const Window::Anchors anchors = m_interface->anchors(); - if ((anchors & Window::AnchorLeft) && (anchors & Window::AnchorRight)) { - size.setWidth(0); - } - if ((anchors & Window::AnchorTop) && (anchors & Window::AnchorBottom)) { - size.setHeight(0); - } - if (size.isValid() && size != QSize(0, 0)) { - set_size(size.width(), size.height()); - } + setDesiredSize(window->windowContentGeometry().size()); } QWaylandLayerSurface::~QWaylandLayerSurface() @@ -99,7 +91,7 @@ if (!m_configured) { m_configured = true; - window()->resizeFromApplyConfigure(m_pendingSize); + applyConfigure(); sendExpose(); } else { // Later configures are resizes, so we have to queue them up for a time when we @@ -121,13 +113,29 @@ void QWaylandLayerSurface::applyConfigure() { + m_configuring = true; window()->resizeFromApplyConfigure(m_pendingSize); + m_configuring = false; +} + +void QWaylandLayerSurface::setDesiredSize(const QSize &size) +{ + const bool horizontallyConstrained = m_interface->anchors().testFlags({Window::AnchorLeft, Window::AnchorRight}); + const bool verticallyConstrained = m_interface->anchors().testFlags({Window::AnchorTop, Window::AnchorBottom}); + + QSize effectiveSize = size; + if (horizontallyConstrained) { + effectiveSize.setWidth(0); + } + if (verticallyConstrained) { + effectiveSize.setHeight(0); + } + set_size(effectiveSize.width(), effectiveSize.height()); } void QWaylandLayerSurface::setAnchor(uint anchor) { set_anchor(anchor); - setWindowGeometry(window()->windowContentGeometry()); } void QWaylandLayerSurface::setExclusiveZone(int32_t zone) @@ -160,22 +168,11 @@ void QWaylandLayerSurface::setWindowGeometry(const QRect &geometry) { - // if we are setting it to the last size we were configured at, we don't need to do anything - if (geometry.size() == m_pendingSize && !m_waitForSyncCallback) { + if (m_configuring) { return; } - const bool horizontallyConstrained = m_interface->anchors().testFlags({Window::AnchorLeft, Window::AnchorRight}); - const bool verticallyConstrained = m_interface->anchors().testFlags({Window::AnchorTop, Window::AnchorBottom}); - - QSize size = geometry.size(); - if (horizontallyConstrained) { - size.setWidth(0); - } - if (verticallyConstrained) { - size.setHeight(0); - } - set_size(size.width(), size.height()); + setDesiredSize(geometry.size()); requestWaylandSync(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/layer-shell-qt-6.0.3/src/qwaylandlayersurface_p.h new/layer-shell-qt-6.0.4/src/qwaylandlayersurface_p.h --- old/layer-shell-qt-6.0.3/src/qwaylandlayersurface_p.h 2024-03-26 16:03:01.000000000 +0100 +++ new/layer-shell-qt-6.0.4/src/qwaylandlayersurface_p.h 2024-04-16 12:36:11.000000000 +0200 @@ -34,6 +34,7 @@ } void attachPopup(QtWaylandClient::QWaylandShellSurface *popup) override; + void setDesiredSize(const QSize &size); void setAnchor(uint32_t anchor); void setExclusiveZone(int32_t zone); void setExclusiveEdge(uint32_t edge); @@ -62,6 +63,7 @@ QString m_activationToken; bool m_configured = false; + bool m_configuring = false; static const wl_callback_listener syncCallbackListener; struct wl_callback *m_waitForSyncCallback = nullptr;