Hello community,

here is the log from the commit of package kwayland for openSUSE:Factory 
checked in at 2018-07-21 10:15:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland (Old)
 and      /work/SRC/openSUSE:Factory/.kwayland.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwayland"

Sat Jul 21 10:15:57 2018 rev:51 rq:623317 version:5.48.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwayland/kwayland.changes        2018-06-22 
13:24:28.318847685 +0200
+++ /work/SRC/openSUSE:Factory/.kwayland.new/kwayland.changes   2018-07-21 
10:16:00.299089635 +0200
@@ -1,0 +2,30 @@
+Mon Jul 16 04:37:44 UTC 2018 - [email protected]
+
+- Update to 5.48.0
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/kde-frameworks-5.48.0.php
+- Changes since 5.47.0:
+  * Fix some of cppcheck warnings
+  * [server] Send frame event instead of flush on relative pointer motion 
(kde#395815)
+  * Fix XDGV6 popup test
+  * Fix stupid copy paste bug in XDGShellV6 Client
+  * Do not cancel old clipboard selection if it is same as the new one. 
(kde#395366)
+  * Fix compiler warning about hidden virtual overloads
+  * Honor BUILD_TESTING
+  * Fix some spelling issues suggested by new linter tool
+  * Add the arclint file in kwayland
+  * Fix 'unused parameter' warnings
+  * Documentation fix
+  * [server] Small code cleanup in SurfaceInterface
+  * Fixup @since for skip switcher API
+- Dropped patches, now upstream:
+  * 0001-Do-not-cancel-old-clipboard-selection-if-it-is-same-.patch
+
+-------------------------------------------------------------------
+Thu Jun 21 17:11:52 UTC 2018 - [email protected]
+
+- Add patch to fix copy-paste from GTK3 applications (boo#1097606):
+  * 0001-Do-not-cancel-old-clipboard-selection-if-it-is-same-.patch
+
+-------------------------------------------------------------------

Old:
----
  kwayland-5.47.0.tar.xz

New:
----
  kwayland-5.48.0.tar.xz

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

Other differences:
------------------
++++++ kwayland.spec ++++++
--- /var/tmp/diff_new_pack.muakDl/_old  2018-07-21 10:16:00.783089521 +0200
+++ /var/tmp/diff_new_pack.muakDl/_new  2018-07-21 10:16:00.787089520 +0200
@@ -16,13 +16,13 @@
 #
 
 
-%define _tar_path 5.47
+%define _tar_path 5.48
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
-%{!?_kf5_bugfix_version: %global _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
+%{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
 Name:           kwayland
-Version:        5.47.0
+Version:        5.48.0
 Release:        0
 Summary:        KDE Wayland library
 License:        LGPL-2.1-or-later

++++++ kwayland-5.47.0.tar.xz -> kwayland-5.48.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/.arclint new/kwayland-5.48.0/.arclint
--- old/kwayland-5.47.0/.arclint        1970-01-01 01:00:00.000000000 +0100
+++ new/kwayland-5.48.0/.arclint        2018-07-07 23:53:49.000000000 +0200
@@ -0,0 +1,20 @@
+{
+  "exclude": "(^test/)",
+  "linters": {
+    "spelling": {
+      "type": "spelling"
+    },
+    "merge-conflict": {
+      "type": "merge-conflict"
+    },
+    "xml": {
+      "type": "xml",
+      "include": "(\\.xml$)"
+    },
+    "cppcheck": {
+      "type": "cppcheck",
+      "include": "(\\.(cpp|h|cxx|hpp)$)",
+      "flags": ["--language=c++", "--std=c++11"]
+    }
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/CMakeLists.txt 
new/kwayland-5.48.0/CMakeLists.txt
--- old/kwayland-5.47.0/CMakeLists.txt  2018-06-02 18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/CMakeLists.txt  2018-07-07 23:53:49.000000000 +0200
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.0)
 
-set(KF5_VERSION "5.47.0") # handled by release scripts
+set(KF5_VERSION "5.48.0") # handled by release scripts
 project(KWayland VERSION ${KF5_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 5.47.0  NO_MODULE)
+find_package(ECM 5.48.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL 
"https://projects.kde.org/projects/kdesupport/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
@@ -59,8 +59,11 @@
     ecm_install_po_files_as_qm(po)
 endif()
 add_subdirectory(src)
-add_subdirectory(autotests)
-add_subdirectory(tests)
+
+if (BUILD_TESTING)
+    add_subdirectory(autotests)
+    add_subdirectory(tests)
+endif()
 
 # create a Config.cmake and a ConfigVersion.cmake file and install them
 set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5Wayland")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/autotests/client/test_datadevice.cpp 
new/kwayland-5.48.0/autotests/client/test_datadevice.cpp
--- old/kwayland-5.47.0/autotests/client/test_datadevice.cpp    2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/autotests/client/test_datadevice.cpp    2018-07-07 
23:53:49.000000000 +0200
@@ -512,6 +512,12 @@
     QCOMPARE(selectionOfferedSpy.count(), 2);
     QVERIFY(sourceCancelled2Spy.isEmpty());
 
+    // replace the data source with itself, ensure that it did not get 
cancelled
+    dataDevice->setSelection(1, dataSource2.data());
+    QVERIFY(!sourceCancelled2Spy.wait(500));
+    QCOMPARE(selectionOfferedSpy.count(), 2);
+    QVERIFY(sourceCancelled2Spy.isEmpty());
+
     // create a new DataDevice and replace previous one
     QScopedPointer<DataDevice> 
dataDevice2(m_dataDeviceManager->getDataDevice(m_seat));
     QVERIFY(dataDevice2->isValid());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-5.47.0/autotests/client/test_wayland_registry.cpp 
new/kwayland-5.48.0/autotests/client/test_wayland_registry.cpp
--- old/kwayland-5.47.0/autotests/client/test_wayland_registry.cpp      
2018-06-02 18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/autotests/client/test_wayland_registry.cpp      
2018-07-07 23:53:49.000000000 +0200
@@ -598,7 +598,7 @@
 
     //server removes the global
     //(simultaneously) the client legimitely uses the bound resource to the 
global
-    //client then gets the server events...it should no-op, not be a protcol 
error
+    //client then gets the server events...it should no-op, not be a protocol 
error
 
     using namespace KWayland::Client;
     KWayland::Client::ConnectionThread connection;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-5.47.0/autotests/client/test_xdg_shell_v6.cpp 
new/kwayland-5.48.0/autotests/client/test_xdg_shell_v6.cpp
--- old/kwayland-5.47.0/autotests/client/test_xdg_shell_v6.cpp  2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/autotests/client/test_xdg_shell_v6.cpp  2018-07-07 
23:53:49.000000000 +0200
@@ -68,7 +68,7 @@
 
 void XdgShellTestV6::testPopup_data()
 {
-    QTest::addColumn<XdgPositioner>("positioners");
+    QTest::addColumn<XdgPositioner>("positioner");
     XdgPositioner positioner(QSize(10,10), QRect(100,100,50,50));
     QTest::newRow("default") << positioner;
 
@@ -105,7 +105,7 @@
     QVERIFY(xdgTopLevelCreatedSpy.wait());
     auto serverXdgTopLevel = 
xdgTopLevelCreatedSpy.first().first().value<XdgShellSurfaceInterface*>();
 
-    XdgPositioner positioner(QSize(10,10), QRect(100,100,50,50));
+    QFETCH(XdgPositioner, positioner);
 
     QScopedPointer<Surface> surface(m_compositor->createSurface());
     QScopedPointer<XdgShellPopup> 
xdgSurface(m_xdgShell->createPopup(surface.data(), xdgParentSurface.data(), 
positioner));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/autotests/server/test_display.cpp 
new/kwayland-5.48.0/autotests/server/test_display.cpp
--- old/kwayland-5.47.0/autotests/server/test_display.cpp       2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/autotests/server/test_display.cpp       2018-07-07 
23:53:49.000000000 +0200
@@ -207,10 +207,10 @@
 
 void TestWaylandServerDisplay::testOutputManagement()
 {
-    auto display = new KWayland::Server::Display(this);
-    display->setSocketName("kwayland-test-0");
-    display->start();
-    auto kwin = display->createOutputManagement(this);
+    Display display;
+    display.setSocketName("kwayland-test-0");
+    display.start();
+    auto kwin = display.createOutputManagement(this);
     kwin->create();
     QVERIFY(kwin->isValid());
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/plasmashell.h 
new/kwayland-5.48.0/src/client/plasmashell.h
--- old/kwayland-5.47.0/src/client/plasmashell.h        2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/plasmashell.h        2018-07-07 
23:53:49.000000000 +0200
@@ -290,7 +290,7 @@
     /**
      * Setting this bit on a window will indicate it does not prefer
      * to be included in a window switcher.
-     * @since 5.45
+     * @since 5.47
      */
     void setSkipSwitcher(bool skip);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/plasmawindowmodel.h 
new/kwayland-5.48.0/src/client/plasmawindowmodel.h
--- old/kwayland-5.47.0/src/client/plasmawindowmodel.h  2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/plasmawindowmodel.h  2018-07-07 
23:53:49.000000000 +0200
@@ -107,7 +107,7 @@
          */
         Pid,
         /**
-         * @since 5.45
+         * @since 5.47
          */
         SkipSwitcher,
     };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-5.47.0/src/client/protocols/fullscreen-shell.xml 
new/kwayland-5.48.0/src/client/protocols/fullscreen-shell.xml
--- old/kwayland-5.47.0/src/client/protocols/fullscreen-shell.xml       
2018-06-02 18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/protocols/fullscreen-shell.xml       
2018-07-07 23:53:49.000000000 +0200
@@ -62,7 +62,7 @@
        its own cursor and set wl_pointer.cursor(NULL).
       </description>
       <entry name="arbitrary_modes" value="1" summary="compositor is capable 
of almost any output mode"/>
-      <entry name="cursor_plane" value="2" summary="compositor has a seperate 
cursor plane"/>
+      <entry name="cursor_plane" value="2" summary="compositor has a separate 
cursor plane"/>
     </enum>
 
     <event name="capability">
@@ -74,7 +74,7 @@
        the wl_fullscreen_shell.capability enum.  If clients want to take
        advantage of any of these capabilities, they sould use a
        wl_display.sync request immediatly after binding to ensure that they
-       recieve all the capability events.
+       receive all the capability events.
       </description>
       <arg name="capabilty" type="uint"/>
     </event>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-5.47.0/src/client/protocols/outputdevice.xml 
new/kwayland-5.48.0/src/client/protocols/outputdevice.xml
--- old/kwayland-5.47.0/src/client/protocols/outputdevice.xml   2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/protocols/outputdevice.xml   2018-07-07 
23:53:49.000000000 +0200
@@ -223,7 +223,7 @@
         <description summary="A unique id for this outputdevice">
             The uuid can be used to identify the output. It's controlled by
             the server entirely. The server should make sure the uuid is
-            persistant across restarts. An empty uuid is considered invalid.
+            persistent across restarts. An empty uuid is considered invalid.
         </description>
         <arg name="uuid" type="string" summary="output devices ID"/>
     </event>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/registry.h 
new/kwayland-5.48.0/src/client/registry.h
--- old/kwayland-5.47.0/src/client/registry.h   2018-06-02 18:29:52.000000000 
+0200
+++ new/kwayland-5.48.0/src/client/registry.h   2018-07-07 23:53:49.000000000 
+0200
@@ -224,7 +224,7 @@
      *
      * The EventQueue should be set before the Registry gets setup.
      * The EventQueue gets automatically added to all interfaces created by
-     * this Registry. So that all objects are in teh same EventQueue.
+     * this Registry. So that all objects are in the same EventQueue.
      *
      * @param queue The event queue to use for this Registry.
      **/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/textinput.h 
new/kwayland-5.48.0/src/client/textinput.h
--- old/kwayland-5.47.0/src/client/textinput.h  2018-06-02 18:29:52.000000000 
+0200
+++ new/kwayland-5.48.0/src/client/textinput.h  2018-07-07 23:53:49.000000000 
+0200
@@ -342,7 +342,7 @@
         quint32 afterLength;
     };
     /**
-     * @returns The lenght in bytes which should be deleted around the cursor 
position
+     * @returns The length in bytes which should be deleted around the cursor 
position
      * @see committed
      **/
     DeleteSurroundingText deleteSurroundingText() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/textinput_v0.cpp 
new/kwayland-5.48.0/src/client/textinput_v0.cpp
--- old/kwayland-5.47.0/src/client/textinput_v0.cpp     2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/textinput_v0.cpp     2018-07-07 
23:53:49.000000000 +0200
@@ -437,6 +437,7 @@
     bool isValid() override;
     void setupV0(wl_text_input_manager *ti) override;
     TextInput *createTextInput(Seat *seat, QObject *parent = nullptr) override;
+    using TextInputManager::Private::operator zwp_text_input_manager_v2*;     
//overriding only one overload results in a compiler warning. This tells GCC 
we're doing it deliberately
     operator wl_text_input_manager*() override {
         return textinputmanagerunstablev0;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/textinput_v2.cpp 
new/kwayland-5.48.0/src/client/textinput_v2.cpp
--- old/kwayland-5.47.0/src/client/textinput_v2.cpp     2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/textinput_v2.cpp     2018-07-07 
23:53:49.000000000 +0200
@@ -461,6 +461,7 @@
     bool isValid() override;
     void setupV2(zwp_text_input_manager_v2 *ti) override;
     TextInput *createTextInput(Seat *seat, QObject *parent = nullptr) override;
+    using TextInputManager::Private::operator wl_text_input_manager*;
     operator zwp_text_input_manager_v2*() override {
         return textinputmanagerunstablev2;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/xdgoutput.cpp 
new/kwayland-5.48.0/src/client/xdgoutput.cpp
--- old/kwayland-5.47.0/src/client/xdgoutput.cpp        2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/xdgoutput.cpp        2018-07-07 
23:53:49.000000000 +0200
@@ -172,8 +172,8 @@
     }
 }
 
-XdgOutput::Private::Private(XdgOutput *q)
-    : q(q)
+XdgOutput::Private::Private(XdgOutput *qptr)
+    : q(qptr)
 {
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/client/xdgshell_v6.cpp 
new/kwayland-5.48.0/src/client/xdgshell_v6.cpp
--- old/kwayland-5.47.0/src/client/xdgshell_v6.cpp      2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/client/xdgshell_v6.cpp      2018-07-07 
23:53:49.000000000 +0200
@@ -160,24 +160,24 @@
     }
 
     uint32_t gravity = 0;
-    if (positioner.anchorEdge().testFlag(Qt::LeftEdge)) {
+    if (positioner.gravity().testFlag(Qt::LeftEdge)) {
         gravity |= ZXDG_POSITIONER_V6_GRAVITY_LEFT;
     }
-    if (positioner.anchorEdge().testFlag(Qt::TopEdge)) {
+    if (positioner.gravity().testFlag(Qt::TopEdge)) {
         gravity |= ZXDG_POSITIONER_V6_GRAVITY_TOP;
     }
-    if (positioner.anchorEdge().testFlag(Qt::RightEdge)) {
+    if (positioner.gravity().testFlag(Qt::RightEdge)) {
         gravity |= ZXDG_POSITIONER_V6_GRAVITY_RIGHT;
     }
-    if (positioner.anchorEdge().testFlag(Qt::BottomEdge)) {
+    if (positioner.gravity().testFlag(Qt::BottomEdge)) {
         gravity |= ZXDG_POSITIONER_V6_GRAVITY_BOTTOM;
     }
-    zxdg_positioner_v6_set_anchor(p, anchor);
     if (gravity != 0) {
         zxdg_positioner_v6_set_gravity(p, gravity);
     }
 
     uint32_t constraint = 0;
+
     if (positioner.constraints().testFlag(XdgPositioner::Constraint::SlideX)) {
         constraint |= ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_SLIDE_X;
     }
@@ -191,7 +191,7 @@
         constraint |= ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_FLIP_Y;
     }
     if (positioner.constraints().testFlag(XdgPositioner::Constraint::ResizeX)) 
{
-        constraint |= ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_Y;
+        constraint |= ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_X;
     }
     if (positioner.constraints().testFlag(XdgPositioner::Constraint::ResizeY)) 
{
         constraint |= ZXDG_POSITIONER_V6_CONSTRAINT_ADJUSTMENT_RESIZE_Y;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/datadevice_interface.cpp 
new/kwayland-5.48.0/src/server/datadevice_interface.cpp
--- old/kwayland-5.47.0/src/server/datadevice_interface.cpp     2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/datadevice_interface.cpp     2018-07-07 
23:53:49.000000000 +0200
@@ -130,6 +130,9 @@
         wl_resource_post_error(dataSource->resource(), 
WL_DATA_SOURCE_ERROR_INVALID_SOURCE, "Data source is for drag and drop");
         return;
     }
+    if (selection == dataSource) {
+        return;
+    }
     Q_Q(DataDeviceInterface);
     QObject::disconnect(selectionUnboundConnection);
     QObject::disconnect(selectionDestroyedConnection);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/dpms_interface.cpp 
new/kwayland-5.48.0/src/server/dpms_interface.cpp
--- old/kwayland-5.47.0/src/server/dpms_interface.cpp   2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/dpms_interface.cpp   2018-07-07 
23:53:49.000000000 +0200
@@ -34,9 +34,9 @@
 };
 #endif
 
-DpmsManagerInterface::Private::Private(DpmsManagerInterface *q, Display *d)
+DpmsManagerInterface::Private::Private(DpmsManagerInterface *qptr, Display *d)
     : Global::Private(d, &org_kde_kwin_dpms_manager_interface, s_version)
-    , q(q)
+    , q(qptr)
 {
 }
 
@@ -82,9 +82,9 @@
 };
 #endif
 
-DpmsInterface::Private::Private(DpmsInterface *q, DpmsManagerInterface *g, 
wl_resource *parentResource, OutputInterface *output)
+DpmsInterface::Private::Private(DpmsInterface *q, DpmsManagerInterface *g, 
wl_resource *parentResource, OutputInterface *outputInterface)
     : Resource::Private(q, g, parentResource, &org_kde_kwin_dpms_interface, 
&s_interface)
-    , output(output)
+    , output(outputInterface)
 {
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/plasmashell_interface.h 
new/kwayland-5.48.0/src/server/plasmashell_interface.h
--- old/kwayland-5.47.0/src/server/plasmashell_interface.h      2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/plasmashell_interface.h      2018-07-07 
23:53:49.000000000 +0200
@@ -141,7 +141,7 @@
     /**
      * @returns true if this window doesn't want to be listed
      * in a window switcher
-     * @since 5.45
+     * @since 5.47
      **/
     bool skipSwitcher() const;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/pointer_interface.cpp 
new/kwayland-5.48.0/src/server/pointer_interface.cpp
--- old/kwayland-5.47.0/src/server/pointer_interface.cpp        2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/pointer_interface.cpp        2018-07-07 
23:53:49.000000000 +0200
@@ -352,7 +352,7 @@
     for (auto it = d->relativePointers.constBegin(), end = 
d->relativePointers.constEnd(); it != end; it++) {
         (*it)->relativeMotion(delta, deltaNonAccelerated, microseconds);
     }
-    client()->flush();
+    d->sendFrame();
 }
 
 PointerInterface::Private *PointerInterface::d_func() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/surface_interface.cpp 
new/kwayland-5.48.0/src/server/surface_interface.cpp
--- old/kwayland-5.47.0/src/server/surface_interface.cpp        2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/surface_interface.cpp        2018-07-07 
23:53:49.000000000 +0200
@@ -181,93 +181,89 @@
     Q_ASSERT(lockedPointer.isNull());
     Q_ASSERT(confinedPointer.isNull());
     lockedPointer = QPointer<LockedPointerInterface>(lock);
+
+    auto cleanUp = [this]() {
+        lockedPointer.clear();
+        disconnect(constrainsOneShotConnection);
+        constrainsOneShotConnection = QMetaObject::Connection();
+        disconnect(constrainsUnboundConnection);
+        constrainsUnboundConnection = QMetaObject::Connection();
+        emit q_func()->pointerConstraintsChanged();
+    };
+
     if (lock->lifeTime() == LockedPointerInterface::LifeTime::OneShot) {
         constrainsOneShotConnection = QObject::connect(lock, 
&LockedPointerInterface::lockedChanged, q_func(),
-            [this] {
-                if (lockedPointer.isNull()) {
+            [this, cleanUp] {
+                if (lockedPointer.isNull() || lockedPointer->isLocked()) {
                     return;
                 }
-                if (!lockedPointer->isLocked()) {
-                    lockedPointer.clear();
-                    disconnect(constrainsOneShotConnection);
-                    constrainsOneShotConnection = QMetaObject::Connection();
-                    disconnect(constrainsUnboundConnection);
-                    constrainsUnboundConnection = QMetaObject::Connection();
-                    emit q_func()->pointerConstraintsChanged();
-                }
+                cleanUp();
             }
         );
     }
     constrainsUnboundConnection = QObject::connect(lock, 
&LockedPointerInterface::unbound, q_func(),
-        [this] {
+        [this, cleanUp] {
             if (lockedPointer.isNull()) {
                 return;
             }
-            lockedPointer.clear();
-            disconnect(constrainsOneShotConnection);
-            constrainsOneShotConnection = QMetaObject::Connection();
-            disconnect(constrainsUnboundConnection);
-            constrainsUnboundConnection = QMetaObject::Connection();
-            emit q_func()->pointerConstraintsChanged();
+            cleanUp();
         }
     );
     emit q_func()->pointerConstraintsChanged();
 }
 
-void SurfaceInterface::Private::installIdleInhibitor(IdleInhibitorInterface 
*inhibitor)
-{
-    idleInhibitors << inhibitor;
-    QObject::connect(inhibitor, &IdleInhibitorInterface::aboutToBeUnbound, q,
-        [this, inhibitor] {
-            idleInhibitors.removeOne(inhibitor);
-            if (idleInhibitors.isEmpty()) {
-                emit q_func()->inhibitsIdleChanged();
-            }
-        }
-    );
-    if (idleInhibitors.count() == 1) {
-        emit q_func()->inhibitsIdleChanged();
-    }
-}
-
 void 
SurfaceInterface::Private::installPointerConstraint(ConfinedPointerInterface 
*confinement)
 {
     Q_ASSERT(lockedPointer.isNull());
     Q_ASSERT(confinedPointer.isNull());
     confinedPointer = QPointer<ConfinedPointerInterface>(confinement);
+
+    auto cleanUp = [this]() {
+        confinedPointer.clear();
+        disconnect(constrainsOneShotConnection);
+        constrainsOneShotConnection = QMetaObject::Connection();
+        disconnect(constrainsUnboundConnection);
+        constrainsUnboundConnection = QMetaObject::Connection();
+        emit q_func()->pointerConstraintsChanged();
+    };
+
     if (confinement->lifeTime() == 
ConfinedPointerInterface::LifeTime::OneShot) {
         constrainsOneShotConnection = QObject::connect(confinement, 
&ConfinedPointerInterface::confinedChanged, q_func(),
-            [this] {
-                if (confinedPointer.isNull()) {
+            [this, cleanUp] {
+                if (confinedPointer.isNull() || confinedPointer->isConfined()) 
{
                     return;
                 }
-                if (!confinedPointer->isConfined()) {
-                    confinedPointer.clear();
-                    disconnect(constrainsOneShotConnection);
-                    constrainsOneShotConnection = QMetaObject::Connection();
-                    disconnect(constrainsUnboundConnection);
-                    constrainsUnboundConnection = QMetaObject::Connection();
-                    emit q_func()->pointerConstraintsChanged();
-                }
+                cleanUp();
             }
         );
     }
     constrainsUnboundConnection = QObject::connect(confinement, 
&ConfinedPointerInterface::unbound, q_func(),
-        [this] {
+        [this, cleanUp] {
             if (confinedPointer.isNull()) {
                 return;
             }
-            confinedPointer.clear();
-            disconnect(constrainsOneShotConnection);
-            constrainsOneShotConnection = QMetaObject::Connection();
-            disconnect(constrainsUnboundConnection);
-            constrainsUnboundConnection = QMetaObject::Connection();
-            emit q_func()->pointerConstraintsChanged();
+            cleanUp();
         }
     );
     emit q_func()->pointerConstraintsChanged();
 }
 
+void SurfaceInterface::Private::installIdleInhibitor(IdleInhibitorInterface 
*inhibitor)
+{
+    idleInhibitors << inhibitor;
+    QObject::connect(inhibitor, &IdleInhibitorInterface::aboutToBeUnbound, q,
+        [this, inhibitor] {
+            idleInhibitors.removeOne(inhibitor);
+            if (idleInhibitors.isEmpty()) {
+                emit q_func()->inhibitsIdleChanged();
+            }
+        }
+    );
+    if (idleInhibitors.count() == 1) {
+        emit q_func()->inhibitsIdleChanged();
+    }
+}
+
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 const struct wl_surface_interface SurfaceInterface::Private::s_interface = {
     resourceDestroyedCallback,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-5.47.0/src/server/xdgforeign_v2_interface.cpp 
new/kwayland-5.48.0/src/server/xdgforeign_v2_interface.cpp
--- old/kwayland-5.47.0/src/server/xdgforeign_v2_interface.cpp  2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/xdgforeign_v2_interface.cpp  2018-07-07 
23:53:49.000000000 +0200
@@ -95,6 +95,7 @@
 void XdgExporterUnstableV2Interface::Private::destroyCallback(wl_client 
*client, wl_resource *resource)
 {
     Q_UNUSED(client)
+    Q_UNUSED(resource)
 }
 
 void XdgExporterUnstableV2Interface::Private::exportCallback(wl_client 
*client, wl_resource *resource, uint32_t id, wl_resource * surface)
@@ -237,6 +238,7 @@
 void XdgImporterUnstableV2Interface::Private::destroyCallback(wl_client 
*client, wl_resource *resource)
 {
     Q_UNUSED(client)
+    Q_UNUSED(resource)
 }
 
 void XdgImporterUnstableV2Interface::Private::importCallback(wl_client 
*client, wl_resource *resource, uint32_t id, const char *h)
@@ -438,6 +440,8 @@
 
 void XdgImportedUnstableV2Interface::Private::setParentOfCallback(wl_client 
*client, wl_resource *resource, wl_resource * surface)
 {
+    Q_UNUSED(client)
+
     auto s = cast<Private>(resource);
     SurfaceInterface *surf = SurfaceInterface::get(surface);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/xdgoutput_interface.cpp 
new/kwayland-5.48.0/src/server/xdgoutput_interface.cpp
--- old/kwayland-5.47.0/src/server/xdgoutput_interface.cpp      2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/xdgoutput_interface.cpp      2018-07-07 
23:53:49.000000000 +0200
@@ -86,7 +86,7 @@
 
 
 XdgOutputManagerInterface::XdgOutputManagerInterface(Display *display, QObject 
*parent)
-    : Global(new XdgOutputManagerInterface::Private(this, display))
+    : Global(new XdgOutputManagerInterface::Private(this, display), parent)
 {
 }
 
@@ -150,9 +150,9 @@
     });
 }
 
-XdgOutputManagerInterface::Private::Private(XdgOutputManagerInterface *q, 
Display *d)
+XdgOutputManagerInterface::Private::Private(XdgOutputManagerInterface *qptr, 
Display *d)
     : Global::Private(d, &zxdg_output_manager_v1_interface, s_version)
-    , q(q)
+    , q(qptr)
 {
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.47.0/src/server/xdgoutput_interface.h 
new/kwayland-5.48.0/src/server/xdgoutput_interface.h
--- old/kwayland-5.47.0/src/server/xdgoutput_interface.h        2018-06-02 
18:29:52.000000000 +0200
+++ new/kwayland-5.48.0/src/server/xdgoutput_interface.h        2018-07-07 
23:53:49.000000000 +0200
@@ -44,7 +44,7 @@
 
 /**
  * Global manager for XdgOutputs
- * @since 5.XDGOUTPUT
+ * @since 5.47
  */
 class KWAYLANDSERVER_EXPORT XdgOutputManagerInterface : public Global
 {
@@ -70,7 +70,7 @@
  * Extension to Output
  * Users should set all relevant values on creation and on future changes.
  * done() should be explicitly called after change batches including initial 
setting.
- * @since 5.XDGOUTPUT
+ * @since 5.47
  */
 class KWAYLANDSERVER_EXPORT XdgOutputInterface : public QObject
 {


Reply via email to