Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kguiaddons for openSUSE:Factory 
checked in at 2022-06-17 21:19:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kguiaddons (Old)
 and      /work/SRC/openSUSE:Factory/.kguiaddons.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kguiaddons"

Fri Jun 17 21:19:13 2022 rev:103 rq:982265 version:5.95.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kguiaddons/kguiaddons.changes    2022-05-16 
18:08:40.565283080 +0200
+++ /work/SRC/openSUSE:Factory/.kguiaddons.new.1548/kguiaddons.changes  
2022-06-17 21:21:08.078728528 +0200
@@ -1,0 +2,13 @@
+Fri Jun 10 14:12:29 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 5.95.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.95.0
+- Changes since 5.94.0:
+  * WaylandClipboard: DataControlSource: delete m_mimeData in dtor (kde#454590)
+  * keysequence: Fix race between recording and currentKeySequence
+  * keysequence: Fix warning message about sequence size to be more precise
+  * keysequence: Replace magic number 4 with enum constant
+
+-------------------------------------------------------------------

Old:
----
  kguiaddons-5.94.0.tar.xz
  kguiaddons-5.94.0.tar.xz.sig

New:
----
  kguiaddons-5.95.0.tar.xz
  kguiaddons-5.95.0.tar.xz.sig

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

Other differences:
------------------
++++++ kguiaddons.spec ++++++
--- /var/tmp/diff_new_pack.jEHS3R/_old  2022-06-17 21:21:09.726729422 +0200
+++ /var/tmp/diff_new_pack.jEHS3R/_new  2022-06-17 21:21:09.730729424 +0200
@@ -17,7 +17,7 @@
 
 
 %define lname   libKF5GuiAddons5
-%define _tar_path 5.94
+%define _tar_path 5.95
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -25,7 +25,7 @@
 # Only needed for the package signature condition
 %bcond_without released
 Name:           kguiaddons
-Version:        5.94.0
+Version:        5.95.0
 Release:        0
 Summary:        Utilities for graphical user interfaces
 License:        LGPL-2.1-or-later


++++++ kguiaddons-5.94.0.tar.xz -> kguiaddons-5.95.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kguiaddons-5.94.0/CMakeLists.txt 
new/kguiaddons-5.95.0/CMakeLists.txt
--- old/kguiaddons-5.94.0/CMakeLists.txt        2022-04-29 17:51:11.000000000 
+0200
+++ new/kguiaddons-5.95.0/CMakeLists.txt        2022-06-04 10:18:31.000000000 
+0200
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "5.94.0") # handled by release scripts
+set(KF_VERSION "5.95.0") # handled by release scripts
 project(KGuiAddons VERSION ${KF_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 5.93.0  NO_MODULE)
+find_package(ECM 5.95.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kguiaddons-5.94.0/src/geo-scheme-handler/google-maps-geo-handler.desktop 
new/kguiaddons-5.95.0/src/geo-scheme-handler/google-maps-geo-handler.desktop
--- 
old/kguiaddons-5.94.0/src/geo-scheme-handler/google-maps-geo-handler.desktop    
    2022-04-29 17:51:11.000000000 +0200
+++ 
new/kguiaddons-5.95.0/src/geo-scheme-handler/google-maps-geo-handler.desktop    
    2022-06-04 10:18:31.000000000 +0200
@@ -8,19 +8,23 @@
 Name[de]=Google Maps
 Name[en_GB]=Google Maps
 Name[es]=Google Maps
+Name[fi]=Google Maps
 Name[fr]=Google Maps
 Name[hi]=???????????? ???????????????
 Name[it]=Mappe di Google
+Name[ka]=Google Maps
 Name[ko]=Google ??????
 Name[nl]=Google Maps
 Name[pl]=Mapy Google
 Name[pt]=Google Maps
 Name[ro]=H??r??i Google
+Name[ru]=?????????? Google
 Name[sk]=Google Maps
 Name[sl]=Google Maps
 Name[sv]=Google kartor
 Name[tr]=Google Haritalar
 Name[uk]=?????????? Google
+Name[vi]=Google B???n ?????
 Name[x-test]=xxGoogle Mapsxx
 Name[zh_CN]=Google Maps
 Icon=map-globe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kguiaddons-5.94.0/src/geo-scheme-handler/openstreetmap-geo-handler.desktop 
new/kguiaddons-5.95.0/src/geo-scheme-handler/openstreetmap-geo-handler.desktop
--- 
old/kguiaddons-5.94.0/src/geo-scheme-handler/openstreetmap-geo-handler.desktop  
    2022-04-29 17:51:11.000000000 +0200
+++ 
new/kguiaddons-5.95.0/src/geo-scheme-handler/openstreetmap-geo-handler.desktop  
    2022-06-04 10:18:31.000000000 +0200
@@ -8,19 +8,23 @@
 Name[de]=OpenStreetMap
 Name[en_GB]=OpenStreetMap
 Name[es]=OpenStreetMap
+Name[fi]=OpenStreetMap
 Name[fr]=OpenStreetMap
 Name[hi]=???????????????????????????????????????
 Name[it]=OpenStreetMap
+Name[ka]=OpenStreetMap
 Name[ko]=OpenStreetMap
 Name[nl]=OpenStreetMap
 Name[pl]=OpenStreetMap
 Name[pt]=OpenStreetMap
 Name[ro]=OpenStreetMap
+Name[ru]=OpenStreetMap
 Name[sk]=OpenStreetMap
 Name[sl]=OpenStreetMap
 Name[sv]=OpenStreetMap
 Name[tr]=OpenStreetMap
 Name[uk]=OpenStreetMap
+Name[vi]=OpenStreetMap
 Name[x-test]=xxOpenStreetMapxx
 Name[zh_CN]=OpenStreetMap
 Icon=map-globe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kguiaddons-5.94.0/src/geo-scheme-handler/qwant-maps-geo-handler.desktop 
new/kguiaddons-5.95.0/src/geo-scheme-handler/qwant-maps-geo-handler.desktop
--- old/kguiaddons-5.94.0/src/geo-scheme-handler/qwant-maps-geo-handler.desktop 
2022-04-29 17:51:11.000000000 +0200
+++ new/kguiaddons-5.95.0/src/geo-scheme-handler/qwant-maps-geo-handler.desktop 
2022-06-04 10:18:31.000000000 +0200
@@ -8,19 +8,23 @@
 Name[de]=Qwant Maps
 Name[en_GB]=Qwant Maps
 Name[es]=Qwant Maps
+Name[fi]=Qwant Maps
 Name[fr]=Qwant Maps
 Name[hi]=????????????????????? ???????????????
 Name[it]=Qwant Maps
+Name[ka]=Qwant Maps
 Name[ko]=Qwant ??????
 Name[nl]=Qwant Maps
 Name[pl]=Mapy Qwant
 Name[pt]=Qwant Maps
 Name[ro]=H??r??i Qwant
+Name[ru]=?????????? Qwant
 Name[sk]=Qwant Maps
 Name[sl]=Qwant Maps
 Name[sv]=Qwant kartor
 Name[tr]=Qwant Haritalar
 Name[uk]=?????????? Qwant
+Name[vi]=B???n ????? Qwant
 Name[x-test]=xxQwant Mapsxx
 Name[zh_CN]=Qwant Maps
 Icon=map-globe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kguiaddons-5.94.0/src/geo-scheme-handler/wheelmap-geo-handler.desktop 
new/kguiaddons-5.95.0/src/geo-scheme-handler/wheelmap-geo-handler.desktop
--- old/kguiaddons-5.94.0/src/geo-scheme-handler/wheelmap-geo-handler.desktop   
2022-04-29 17:51:11.000000000 +0200
+++ new/kguiaddons-5.95.0/src/geo-scheme-handler/wheelmap-geo-handler.desktop   
2022-06-04 10:18:31.000000000 +0200
@@ -8,19 +8,23 @@
 Name[de]=wheelmap.org
 Name[en_GB]=wheelmap.org
 Name[es]=wheelmap.org
+Name[fi]=wheelmap.org
 Name[fr]=wheelmap.org
 Name[hi]=??????????????????????????????.????????????
 Name[it]=wheelmap.org
+Name[ka]=wheelmap.org
 Name[ko]=wheelmap.org
 Name[nl]=wheelmap.org
 Name[pl]=wheelmap.org
 Name[pt]=wheelmap.org
 Name[ro]=wheelmap.org
+Name[ru]=wheelmap.org
 Name[sk]=wheelmap.org
 Name[sl]=wheelmap.org
 Name[sv]=wheelmap.org
 Name[tr]=wheelmap.org
 Name[uk]=wheelmap.org
+Name[vi]=wheelmap.org
 Name[x-test]=xxwheelmap.orgxx
 Name[zh_CN]=wheelmap.org
 Icon=map-globe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kguiaddons-5.94.0/src/recorder/keysequencerecorder.cpp 
new/kguiaddons-5.95.0/src/recorder/keysequencerecorder.cpp
--- old/kguiaddons-5.94.0/src/recorder/keysequencerecorder.cpp  2022-04-29 
17:51:11.000000000 +0200
+++ new/kguiaddons-5.95.0/src/recorder/keysequencerecorder.cpp  2022-06-04 
10:18:31.000000000 +0200
@@ -22,6 +22,33 @@
 
 #include <array>
 
+class KeySequenceRecorderPrivate : public QObject
+{
+    Q_OBJECT
+public:
+    // Copy of QKeySequencePrivate::MaxKeyCount from private header
+    enum { MaxKeyCount = 4 };
+
+    KeySequenceRecorderPrivate(KeySequenceRecorder *qq);
+
+    void controlModifierlessTimeout();
+    bool eventFilter(QObject *watched, QEvent *event) override;
+    void handleKeyPress(QKeyEvent *event);
+    void handleKeyRelease(QKeyEvent *event);
+    void finishRecording();
+
+    KeySequenceRecorder *q;
+    QKeySequence m_currentKeySequence;
+    QPointer<QWindow> m_window;
+    bool m_isRecording;
+    bool m_multiKeyShortcutsAllowed;
+    bool m_modifierlessAllowed;
+
+    Qt::KeyboardModifiers m_currentModifiers;
+    QTimer m_modifierlessTimer;
+    std::unique_ptr<ShortcutInhibition> m_inhibition;
+};
+
 constexpr Qt::KeyboardModifiers modifierMask = Qt::ShiftModifier | 
Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier | Qt::KeypadModifier;
 
 // Copied here from KKeyServer
@@ -233,40 +260,16 @@
 
 static QKeySequence appendToSequence(const QKeySequence &sequence, int key)
 {
-    if (sequence.count() >= 4) {
-        qCWarning(KGUIADDONS_LOG) << "Invalid sequence size: " << 
sequence.count();
+    if (sequence.count() >= KeySequenceRecorderPrivate::MaxKeyCount) {
+        qCWarning(KGUIADDONS_LOG) << "Cannot append to a key to a sequence 
which is already of length" << sequence.count();
         return sequence;
     }
 
-    std::array<int, 4> keys{sequence[0], sequence[1], sequence[2], 
sequence[3]};
+    std::array<int, KeySequenceRecorderPrivate::MaxKeyCount> keys{sequence[0], 
sequence[1], sequence[2], sequence[3]};
     keys[sequence.count()] = key;
     return QKeySequence(keys[0], keys[1], keys[2], keys[3]);
 }
 
-class KeySequenceRecorderPrivate : public QObject
-{
-    Q_OBJECT
-public:
-    KeySequenceRecorderPrivate(KeySequenceRecorder *qq);
-
-    void controlModifierlessTimeout();
-    bool eventFilter(QObject *watched, QEvent *event) override;
-    void handleKeyPress(QKeyEvent *event);
-    void handleKeyRelease(QKeyEvent *event);
-    void finishRecording();
-
-    KeySequenceRecorder *q;
-    QKeySequence m_currentKeySequence;
-    QPointer<QWindow> m_window;
-    bool m_isRecording;
-    bool m_multiKeyShortcutsAllowed;
-    bool m_modifierlessAllowed;
-
-    Qt::KeyboardModifiers m_currentModifiers;
-    QTimer m_modifierlessTimer;
-    std::unique_ptr<ShortcutInhibition> m_inhibition;
-};
-
 KeySequenceRecorderPrivate::KeySequenceRecorderPrivate(KeySequenceRecorder *qq)
     : QObject(qq)
     , q(qq)
@@ -351,8 +354,11 @@
 
         m_currentKeySequence = appendToSequence(m_currentKeySequence, key);
         Q_EMIT q->currentKeySequenceChanged();
-
-        if ((!m_multiKeyShortcutsAllowed) || (m_currentKeySequence.count() == 
4)) {
+        // Now we are in a critical region (race), where recording is still
+        // ongoing, but key sequence has already changed (potentially) to the
+        // longest. But we still want currentKeySequenceChanged to trigger
+        // before gotKeySequence, so there's only so much we can do about it.
+        if ((!m_multiKeyShortcutsAllowed) || (m_currentKeySequence.count() == 
MaxKeyCount)) {
             finishRecording();
             break;
         }
@@ -429,7 +435,13 @@
 
 QKeySequence KeySequenceRecorder::currentKeySequence() const
 {
-    return d->m_isRecording ? appendToSequence(d->m_currentKeySequence, 
d->m_currentModifiers) : d->m_currentKeySequence;
+    // We need a check for count() here because there's a race between the
+    // state of recording and a length of currentKeySequence.
+    if (d->m_isRecording && d->m_currentKeySequence.count() < 
KeySequenceRecorderPrivate::MaxKeyCount) {
+        return appendToSequence(d->m_currentKeySequence, 
d->m_currentModifiers);
+    } else {
+        return d->m_currentKeySequence;
+    }
 }
 
 QWindow *KeySequenceRecorder::window() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kguiaddons-5.94.0/src/systemclipboard/waylandclipboard.cpp 
new/kguiaddons-5.95.0/src/systemclipboard/waylandclipboard.cpp
--- old/kguiaddons-5.94.0/src/systemclipboard/waylandclipboard.cpp      
2022-04-29 17:51:11.000000000 +0200
+++ new/kguiaddons-5.95.0/src/systemclipboard/waylandclipboard.cpp      
2022-06-04 10:18:31.000000000 +0200
@@ -281,6 +281,7 @@
     DataControlSource() = default;
     ~DataControlSource()
     {
+        delete m_mimeData;
         destroy();
     }
 

Reply via email to