Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libqt5-qtwayland for 
openSUSE:Factory checked in at 2023-03-19 16:16:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtwayland (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtwayland"

Sun Mar 19 16:16:09 2023 rev:49 rq:1072582 version:5.15.8+kde63

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtwayland/libqt5-qtwayland.changes        
2023-01-11 14:33:48.772809800 +0100
+++ 
/work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.31432/libqt5-qtwayland.changes 
    2023-03-19 16:16:27.763288344 +0100
@@ -1,0 +2,11 @@
+Thu Mar 16 08:17:47 UTC 2023 - Fabian Vogt <fv...@suse.com>
+
+- Update to version 5.15.8+kde63:
+  * Client: Remove flip popup constraints
+  * client: set_constraint_adjustment() for popups in xdg
+  * client: Do not cast placeholder screens to QWaylandScreen
+  * Client: Manage QMimeData lifecycle
+  * client: Force a roundtrip when an XdgOutput is not ready yet
+  * Client: Fix handling of Qt::BlankCursor
+
+-------------------------------------------------------------------

Old:
----
  qtwayland-everywhere-src-5.15.8+kde57.obscpio

New:
----
  qtwayland-everywhere-src-5.15.8+kde63.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqt5-qtwayland.spec ++++++
--- /var/tmp/diff_new_pack.unu6Ny/_old  2023-03-19 16:16:28.623292525 +0100
+++ /var/tmp/diff_new_pack.unu6Ny/_new  2023-03-19 16:16:28.631292564 +0100
@@ -26,7 +26,7 @@
 %define so_version 5.15.8
 %define tar_version qtwayland-everywhere-src-%{version}
 Name:           libqt5-qtwayland
-Version:        5.15.8+kde57
+Version:        5.15.8+kde63
 Release:        0
 Summary:        Qt 5 Wayland Addon
 # The wayland compositor files are GPL-3.0-or-later

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.unu6Ny/_old  2023-03-19 16:16:28.687292837 +0100
+++ /var/tmp/diff_new_pack.unu6Ny/_new  2023-03-19 16:16:28.691292857 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://invent.kde.org/qt/qt/qtwayland.git</param>
-              <param 
name="changesrevision">f6a1e838e371dc90272c62daeea597fe487dec3e</param></service></servicedata>
+              <param 
name="changesrevision">df41e7e3e1f0e5495c5c8c52f1c9bb5a32b0da27</param></service></servicedata>
 (No newline at EOF)
 

++++++ qtwayland-everywhere-src-5.15.8+kde57.obscpio -> 
qtwayland-everywhere-src-5.15.8+kde63.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandclipboard.cpp 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandclipboard.cpp
--- old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandclipboard.cpp  
2023-01-05 07:51:24.000000000 +0100
+++ new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandclipboard.cpp  
2023-03-09 13:51:37.000000000 +0100
@@ -54,10 +54,15 @@
 QWaylandClipboard::QWaylandClipboard(QWaylandDisplay *display)
     : mDisplay(display)
 {
+    m_clientClipboard[QClipboard::Clipboard] = nullptr;
+    m_clientClipboard[QClipboard::Selection] = nullptr;
 }
 
 QWaylandClipboard::~QWaylandClipboard()
 {
+    if (m_clientClipboard[QClipboard::Clipboard] != 
m_clientClipboard[QClipboard::Selection])
+        delete m_clientClipboard[QClipboard::Clipboard];
+    delete m_clientClipboard[QClipboard::Selection];
 }
 
 QMimeData *QWaylandClipboard::mimeData(QClipboard::Mode mode)
@@ -69,8 +74,8 @@
     switch (mode) {
     case QClipboard::Clipboard:
         if (auto *dataDevice = seat->dataDevice()) {
-            if (auto *source = dataDevice->selectionSource())
-                return source->mimeData();
+            if (dataDevice->selectionSource())
+                return m_clientClipboard[QClipboard::Clipboard];
             if (auto *offer = dataDevice->selectionOffer())
                 return offer->mimeData();
         }
@@ -78,8 +83,8 @@
     case QClipboard::Selection:
 #if QT_CONFIG(wayland_client_primary_selection)
         if (auto *selectionDevice = seat->primarySelectionDevice()) {
-            if (auto *source = selectionDevice->selectionSource())
-                return source->mimeData();
+            if (selectionDevice->selectionSource())
+                return m_clientClipboard[QClipboard::Selection];
             if (auto *offer = selectionDevice->selectionOffer())
                 return offer->mimeData();
         }
@@ -104,17 +109,27 @@
     if (data && data->hasFormat(plain) && !data->hasFormat(utf8))
         data->setData(utf8, data->data(plain));
 
+    if (m_clientClipboard[mode]) {
+        if (m_clientClipboard[QClipboard::Clipboard] != 
m_clientClipboard[QClipboard::Selection])
+            delete m_clientClipboard[mode];
+        m_clientClipboard[mode] = nullptr;
+    }
+
+    m_clientClipboard[mode] = data;
+
     switch (mode) {
     case QClipboard::Clipboard:
         if (auto *dataDevice = seat->dataDevice()) {
-            dataDevice->setSelectionSource(data ? new 
QWaylandDataSource(mDisplay->dndSelectionHandler(), data) : nullptr);
+            dataDevice->setSelectionSource(data ? new 
QWaylandDataSource(mDisplay->dndSelectionHandler(),
+                                                                         
m_clientClipboard[QClipboard::Clipboard]) : nullptr);
             emitChanged(mode);
         }
         break;
     case QClipboard::Selection:
 #if QT_CONFIG(wayland_client_primary_selection)
         if (auto *selectionDevice = seat->primarySelectionDevice()) {
-            selectionDevice->setSelectionSource(data ? new 
QWaylandPrimarySelectionSourceV1(mDisplay->primarySelectionManager(), data) : 
nullptr);
+            selectionDevice->setSelectionSource(data ? new 
QWaylandPrimarySelectionSourceV1(mDisplay->primarySelectionManager(),
+                                                                               
             m_clientClipboard[QClipboard::Selection]) : nullptr);
             emitChanged(mode);
         }
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandclipboard_p.h 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandclipboard_p.h
--- old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandclipboard_p.h  
2023-01-05 07:51:24.000000000 +0100
+++ new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandclipboard_p.h  
2023-03-09 13:51:37.000000000 +0100
@@ -80,6 +80,7 @@
 private:
     QWaylandDisplay *mDisplay = nullptr;
     QMimeData m_emptyData;
+    QMimeData *m_clientClipboard[2];
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylanddatasource.cpp 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylanddatasource.cpp
--- old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylanddatasource.cpp 
2023-01-05 07:51:24.000000000 +0100
+++ new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylanddatasource.cpp 
2023-03-09 13:51:37.000000000 +0100
@@ -71,11 +71,6 @@
     destroy();
 }
 
-QMimeData * QWaylandDataSource::mimeData() const
-{
-    return m_mime_data;
-}
-
 void QWaylandDataSource::data_source_cancelled()
 {
     Q_EMIT cancelled();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylanddatasource_p.h 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylanddatasource_p.h
--- old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylanddatasource_p.h 
2023-01-05 07:51:24.000000000 +0100
+++ new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylanddatasource_p.h 
2023-03-09 13:51:37.000000000 +0100
@@ -74,8 +74,6 @@
     QWaylandDataSource(QWaylandDataDeviceManager *dataDeviceManager, QMimeData 
*mimeData);
     ~QWaylandDataSource() override;
 
-    QMimeData *mimeData() const;
-
 Q_SIGNALS:
     void cancelled();
     void finished();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandinputdevice.cpp 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandinputdevice.cpp
--- 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandinputdevice.cpp    
    2023-01-05 07:51:24.000000000 +0100
+++ 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandinputdevice.cpp    
    2023-03-09 13:51:37.000000000 +0100
@@ -308,8 +308,7 @@
     auto shape = seat()->mCursor.shape;
 
     if (shape == Qt::BlankCursor) {
-        if (mCursor.surface)
-            mCursor.surface->hide();
+        getOrCreateCursorSurface()->hide();
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandnativeinterface.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandnativeinterface.cpp
--- 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandnativeinterface.cpp
    2023-01-05 07:51:24.000000000 +0100
+++ 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandnativeinterface.cpp
    2023-03-09 13:51:37.000000000 +0100
@@ -139,7 +139,7 @@
 {
     QByteArray lowerCaseResource = resourceString.toLower();
 
-    if (lowerCaseResource == "output")
+    if (lowerCaseResource == "output" && !screen->handle()->isPlaceholder())
         return ((QWaylandScreen *) screen->handle())->output();
 
     return nullptr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandwindow.cpp 
new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandwindow.cpp
--- old/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandwindow.cpp     
2023-01-05 07:51:24.000000000 +0100
+++ new/qtwayland-everywhere-src-5.15.8+kde63/src/client/qwaylandwindow.cpp     
2023-03-09 13:51:37.000000000 +0100
@@ -1042,6 +1042,8 @@
     if (newScreen == mLastReportedScreen)
         return;
 
+    if (!newScreen->isPlaceholder() && !newScreen->QPlatformScreen::screen())
+        mDisplay->forceRoundTrip();
     QWindowSystemInterface::handleWindowScreenChanged(window(), 
newScreen->QPlatformScreen::screen());
     mLastReportedScreen = newScreen;
     if (fixedToplevelPositions && !QPlatformWindow::parent() && 
window()->type() != Qt::Popup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde63/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
--- 
old/qtwayland-everywhere-src-5.15.8+kde57/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
       2023-01-05 07:51:24.000000000 +0100
+++ 
new/qtwayland-everywhere-src-5.15.8+kde63/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
       2023-03-09 13:51:37.000000000 +0100
@@ -424,6 +424,8 @@
     positioner->set_anchor(QtWayland::xdg_positioner::anchor_top_left);
     positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right);
     positioner->set_size(m_window->geometry().width(), 
m_window->geometry().height());
+    
positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x
+        | QtWayland::xdg_positioner::constraint_adjustment_slide_y);
     m_popup = new Popup(this, parent, positioner);
     positioner->destroy();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/shared/coreprotocol.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde63/tests/auto/client/shared/coreprotocol.cpp
--- 
old/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/shared/coreprotocol.cpp
 2023-01-05 07:51:24.000000000 +0100
+++ 
new/qtwayland-everywhere-src-5.15.8+kde63/tests/auto/client/shared/coreprotocol.cpp
 2023-03-09 13:51:37.000000000 +0100
@@ -185,6 +185,8 @@
 
     if (m_version >= WL_OUTPUT_DONE_SINCE_VERSION)
         wl_output::send_done(resource->handle);
+
+    Q_EMIT outputBound(resource);
 }
 
 // Seat stuff
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/shared/coreprotocol.h
 
new/qtwayland-everywhere-src-5.15.8+kde63/tests/auto/client/shared/coreprotocol.h
--- 
old/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/shared/coreprotocol.h
   2023-01-05 07:51:24.000000000 +0100
+++ 
new/qtwayland-everywhere-src-5.15.8+kde63/tests/auto/client/shared/coreprotocol.h
   2023-03-09 13:51:37.000000000 +0100
@@ -273,6 +273,9 @@
     OutputData m_data;
     int m_version = 1; // TODO: remove on libwayland upgrade
 
+Q_SIGNALS:
+    void outputBound(Resource *resource);
+
 protected:
     void output_bind_resource(Resource *resource) override;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/xdgoutput/tst_xdgoutput.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde63/tests/auto/client/xdgoutput/tst_xdgoutput.cpp
--- 
old/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/xdgoutput/tst_xdgoutput.cpp
     2023-01-05 07:51:24.000000000 +0100
+++ 
new/qtwayland-everywhere-src-5.15.8+kde63/tests/auto/client/xdgoutput/tst_xdgoutput.cpp
     2023-03-09 13:51:37.000000000 +0100
@@ -55,6 +55,7 @@
     void primaryScreen();
     void overrideGeometry();
     void changeGeometry();
+    void outputCreateEnterRace();
 };
 
 void tst_xdgoutput::cleanup()
@@ -134,5 +135,39 @@
     exec([=] { remove(output(1)); });
 }
 
+void tst_xdgoutput::outputCreateEnterRace()
+{
+    m_config.autoConfigure = true;
+    m_config.autoEnter = false;
+    QRasterWindow window;
+    QSignalSpy screenChanged(&window, &QWindow::screenChanged);
+    window.resize(400, 320);
+    window.show();
+    QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
+    exec([=] { xdgToplevel()->surface()->sendEnter(output(0));});
+
+    QTRY_COMPARE(QGuiApplication::screens().size(), 1);
+    QScreen *primaryScreen = QGuiApplication::screens().first();
+    QCOMPARE(window.screen(), primaryScreen);
+
+     auto *out = exec([=] {
+        return add<Output>();
+     });
+
+     // In Compositor Thread
+     connect(out, &Output::outputBound, this, 
[this](QtWaylandServer::wl_output::Resource *resource){
+        auto surface = xdgToplevel()->surface();
+        surface->sendLeave(output(0));
+        
surface->QtWaylandServer::wl_surface::send_enter(surface->resource()->handle, 
resource->handle);
+     }, Qt::DirectConnection);
+
+    QTRY_COMPARE(QGuiApplication::screens().size(), 2);
+    QTRY_COMPARE(window.screen(), QGuiApplication::screens()[1]);
+
+    exec([=] { remove(out); });
+    m_config.autoConfigure = false;
+    m_config.autoEnter = true;
+}
+
 QCOMPOSITOR_TEST_MAIN(tst_xdgoutput)
 #include "tst_xdgoutput.moc"

++++++ qtwayland-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.unu6Ny/_old  2023-03-19 16:16:29.247295559 +0100
+++ /var/tmp/diff_new_pack.unu6Ny/_new  2023-03-19 16:16:29.251295579 +0100
@@ -1,5 +1,5 @@
 name: qtwayland-everywhere-src
-version: 5.15.8+kde57
-mtime: 1672901484
-commit: f6a1e838e371dc90272c62daeea597fe487dec3e
+version: 5.15.8+kde63
+mtime: 1678366297
+commit: df41e7e3e1f0e5495c5c8c52f1c9bb5a32b0da27
 

Reply via email to