Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kwayland-server for openSUSE:Factory 
checked in at 2021-04-14 10:09:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland-server (Old)
 and      /work/SRC/openSUSE:Factory/.kwayland-server.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwayland-server"

Wed Apr 14 10:09:48 2021 rev:17 rq:883419 version:5.21.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwayland-server/kwayland-server.changes  
2021-03-19 16:41:27.593976646 +0100
+++ 
/work/SRC/openSUSE:Factory/.kwayland-server.new.2401/kwayland-server.changes    
    2021-04-14 10:09:57.717390643 +0200
@@ -1,0 +2,12 @@
+Tue Apr  6 14:00:38 UTC 2021 - Fabian Vogt <[email protected]>
+
+- Update to 5.21.4
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.21.4
+- Changes since 5.21.3:
+  * Send current primary selection after introducing focused surface
+  * Fix management of keymap files
+  * Fix a typo
+
+-------------------------------------------------------------------

Old:
----
  kwayland-server-5.21.3.tar.xz
  kwayland-server-5.21.3.tar.xz.sig

New:
----
  kwayland-server-5.21.4.tar.xz
  kwayland-server-5.21.4.tar.xz.sig

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

Other differences:
------------------
++++++ kwayland-server.spec ++++++
--- /var/tmp/diff_new_pack.MOWMFV/_old  2021-04-14 10:09:58.217391487 +0200
+++ /var/tmp/diff_new_pack.MOWMFV/_new  2021-04-14 10:09:58.221391494 +0200
@@ -24,7 +24,7 @@
 
 %bcond_without lang
 Name:           kwayland-server
-Version:        5.21.3
+Version:        5.21.4
 Release:        0
 Summary:        KDE Wayland server library
 License:        LGPL-2.1-or-later

++++++ kwayland-server-5.21.3.tar.xz -> kwayland-server-5.21.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-server-5.21.3/CMakeLists.txt 
new/kwayland-server-5.21.4/CMakeLists.txt
--- old/kwayland-server-5.21.3/CMakeLists.txt   2021-03-16 13:27:14.000000000 
+0100
+++ new/kwayland-server-5.21.4/CMakeLists.txt   2021-04-06 14:26:30.000000000 
+0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.5)
-set(PROJECT_VERSION "5.21.3")
+set(PROJECT_VERSION "5.21.4")
 set(PROJECT_VERSION_MAJOR 5)
 
 set(QT_MIN_VERSION "5.15.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-server-5.21.3/src/server/keyboard_interface.cpp 
new/kwayland-server-5.21.4/src/server/keyboard_interface.cpp
--- old/kwayland-server-5.21.3/src/server/keyboard_interface.cpp        
2021-03-16 13:27:14.000000000 +0100
+++ new/kwayland-server-5.21.4/src/server/keyboard_interface.cpp        
2021-04-06 14:26:30.000000000 +0200
@@ -30,7 +30,7 @@
         send_repeat_info(resource->handle, keyRepeat.charactersPerSecond, 
keyRepeat.delay);
     }
     if (!keymap.isNull()) {
-        send_keymap(resource->handle, keymap_format::keymap_format_xkb_v1, 
keymap->handle(), keymap->size());
+        sendKeymap(resource);
     }
 }
 
@@ -79,37 +79,45 @@
     sendModifiers();
 }
 
-void KeyboardInterface::setKeymap(const QByteArray &content)
+void KeyboardInterfacePrivate::sendKeymap(Resource *resource)
 {
-    if (content.isNull()) {
-        return;
-    }
-    QScopedPointer<QTemporaryFile> tmp{new QTemporaryFile(this)};
+    QScopedPointer<QTemporaryFile> tmp(new QTemporaryFile());
     if (!tmp->open()) {
+        qCWarning(KWAYLAND_SERVER) << "Failed to create keymap file:" << 
tmp->errorString();
         return;
     }
+
     unlink(tmp->fileName().toUtf8().constData());
-    if (!tmp->resize(content.size())) {
+    if (!tmp->resize(keymap.size())) {
+        qCWarning(KWAYLAND_SERVER) << "Failed to resize keymap file:" << 
tmp->errorString();
         return;
     }
-    uchar *address = tmp->map(0, content.size());
+
+    uchar *address = tmp->map(0, keymap.size());
     if (!address) {
+        qCWarning(KWAYLAND_SERVER) << "Failed to map keymap file:" << 
tmp->errorString();
         return;
     }
-    if (qstrncpy(reinterpret_cast<char*>(address), content.constData(), 
content.size() + 1) == nullptr) {
+
+    if (qstrncpy(reinterpret_cast<char *>(address), keymap.constData(), 
keymap.size() + 1) == nullptr) {
         return;
     }
     tmp->unmap(address);
 
-    d->sendKeymap(tmp->handle(), content.size());
-    d->keymap.swap(tmp);
+    send_keymap(resource->handle, keymap_format::keymap_format_xkb_v1, 
tmp->handle(), tmp->size());
 }
 
-void KeyboardInterfacePrivate::sendKeymap(int fd, quint32 size)
+void KeyboardInterface::setKeymap(const QByteArray &content)
 {
-    const QList<Resource *> keyboards = resourceMap().values();
-    for (Resource *keyboardResource : keyboards) {
-        send_keymap(keyboardResource->handle, 
keymap_format::keymap_format_xkb_v1, fd, size);
+    if (content.isNull()) {
+        return;
+    }
+
+    d->keymap = content;
+
+    const auto keyboardResources = d->resourceMap();
+    for (KeyboardInterfacePrivate::Resource *resource : keyboardResources) {
+        d->sendKeymap(resource);
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-server-5.21.3/src/server/keyboard_interface_p.h 
new/kwayland-server-5.21.4/src/server/keyboard_interface_p.h
--- old/kwayland-server-5.21.3/src/server/keyboard_interface_p.h        
2021-03-16 13:27:14.000000000 +0100
+++ new/kwayland-server-5.21.4/src/server/keyboard_interface_p.h        
2021-04-06 14:26:30.000000000 +0200
@@ -12,8 +12,6 @@
 #include <QPointer>
 #include <QHash>
 
-class QTemporaryFile;
-
 namespace KWaylandServer
 {
 
@@ -25,7 +23,7 @@
     KeyboardInterfacePrivate(SeatInterface *s);
 
 
-    void sendKeymap(int fd, quint32 size);
+    void sendKeymap(Resource *resource);
     void sendModifiers();
     void sendModifiers(quint32 depressed, quint32 latched, quint32 locked, 
quint32 group, quint32 serial);
 
@@ -40,7 +38,7 @@
     SurfaceInterface *focusedSurface = nullptr;
     QPointer<SurfaceInterface> focusedChildSurface;
     QMetaObject::Connection destroyConnection;
-    QScopedPointer<QTemporaryFile> keymap;
+    QByteArray keymap;
 
     struct {
         qint32 charactersPerSecond = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-server-5.21.3/src/server/seat_interface.cpp 
new/kwayland-server-5.21.4/src/server/seat_interface.cpp
--- old/kwayland-server-5.21.3/src/server/seat_interface.cpp    2021-03-16 
13:27:14.000000000 +0100
+++ new/kwayland-server-5.21.4/src/server/seat_interface.cpp    2021-04-06 
14:26:30.000000000 +0200
@@ -1123,6 +1123,9 @@
     }
     d->globalKeyboard.focus = Private::Keyboard::Focus();
     d->globalKeyboard.focus.surface = surface;
+
+    d->keyboard->setFocusedSurface(surface, serial);
+
     if (d->globalKeyboard.focus.surface) {
         d->globalKeyboard.focus.destroyConnection = connect(surface, 
&QObject::destroyed, this,
             [this] {
@@ -1151,7 +1154,7 @@
 
         d->globalKeyboard.focus.primarySelections = primarySelectionDevices;
         for (auto primaryDataDevice : primarySelectionDevices) {
-            if (d->currentSelection) {
+            if (d->currentPrimarySelection) {
                 primaryDataDevice->sendSelection(d->currentPrimarySelection);
             } else {
                 primaryDataDevice->sendClearSelection();
@@ -1159,8 +1162,6 @@
         }
     }
 
-    d->keyboard->setFocusedSurface(surface, serial);
-
     // focused text input surface follows keyboard
     if (hasKeyboard()) {
         setFocusedTextInputSurface(surface);

Reply via email to