Hello community,
here is the log from the commit of package kglobalaccel for openSUSE:Factory checked in at 2019-04-19 21:25:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kglobalaccel (Old)
and /work/SRC/openSUSE:Factory/.kglobalaccel.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kglobalaccel"
Fri Apr 19 21:25:51 2019 rev:68 rq:695732 version:5.57.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kglobalaccel/kglobalaccel.changes 2019-03-21 09:45:35.682907294 +0100
+++ /work/SRC/openSUSE:Factory/.kglobalaccel.new.5536/kglobalaccel.changes 2019-04-19 21:25:55.775992319 +0200
@@ -1,0 +2,22 @@
+Thu Apr 18 13:17:34 UTC 2019 - Fabian Vogt
+
+- Add patch to fix another possible crash:
+ * 0001-Copy-container-in-Component-cleanUp-before-interatin.patch
+
+-------------------------------------------------------------------
+Tue Apr 16 13:33:12 UTC 2019 - wbauer@tmo.at
+
+- Add Dont-use-qAsConst-over-a-temporary-variable.patch to fix a
+ possible crash (kde#406426)
+
+-------------------------------------------------------------------
+Sun Apr 14 20:21:43 UTC 2019 - lbeltrame@kde.org
+
+- Update to 5.57.0
+ * New feature release
+ * For more details please see:
+ * https://www.kde.org/announcements/kde-frameworks-5.57.0.php
+- Changes since 5.56.0:
+ * [kglobalaccel] Make it compile without foreach
+
+-------------------------------------------------------------------
Old:
----
kglobalaccel-5.56.0.tar.xz
New:
----
0001-Copy-container-in-Component-cleanUp-before-interatin.patch
Dont-use-qAsConst-over-a-temporary-variable.patch
kglobalaccel-5.57.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kglobalaccel.spec ++++++
--- /var/tmp/diff_new_pack.FrFTnT/_old 2019-04-19 21:25:57.511994530 +0200
+++ /var/tmp/diff_new_pack.FrFTnT/_new 2019-04-19 21:25:57.539994566 +0200
@@ -17,14 +17,14 @@
%define lname libKF5GlobalAccel5
-%define _tar_path 5.56
+%define _tar_path 5.57
# 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: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')}
%bcond_without lang
Name: kglobalaccel
-Version: 5.56.0
+Version: 5.57.0
Release: 0
Summary: Global desktop keyboard shortcuts
License: LGPL-2.1-or-later
@@ -32,6 +32,9 @@
URL: https://www.kde.org
Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
Source1: baselibs.conf
+# PATCH-FIX-UPSTREAM
+Patch0: Dont-use-qAsConst-over-a-temporary-variable.patch
+Patch1: 0001-Copy-container-in-Component-cleanUp-before-interatin.patch
BuildRequires: cmake >= 3.0
BuildRequires: extra-cmake-modules >= %{_kf5_bugfix_version}
BuildRequires: fdupes
@@ -112,6 +115,7 @@
%if 0%{?suse_version} == 1500
sed -i -e "s/^set *(REQUIRED_QT_VERSION 5.10.0)$/set(REQUIRED_QT_VERSION 5.9.0)/" CMakeLists.txt
%endif
+%autopatch -p1
%build
%cmake_kf5 -d build -- -Dlconvert_executable=%{_kf5_libdir}/qt5/bin/lconvert
++++++ 0001-Copy-container-in-Component-cleanUp-before-interatin.patch ++++++
From 78a711361db3a5156f511eab89ff7ebbc86b9125 Mon Sep 17 00:00:00 2001
From: Fabian Vogt
Date: Thu, 18 Apr 2019 14:32:11 +0200
Subject: [PATCH] Copy container in Component::cleanUp before interating
Summary:
Crash was reported:
Thread 1 (Thread 0x7fdc95c68800 (LWP 6402)):
[KCrash Handler]
#6 QHashData::nextNode (node=node@entry=0x562f53ffbd10) at tools/qhash.cpp:598
#7 0x00007fdc95a1fbab in QHash::const_iterator::operator++ (this=<synthetic pointer>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:395
#8 KdeDGlobalAccel::Component::cleanUp (this=0x562f53ffb040) at ./src/runtime/component.cpp:163
Apparently the container is modified while iterating over it. That does not work with the range-for as it does not detach, as opposed to Q_FOREACH.
Test Plan: @lbeltrame saw valgrind errors before applying this, but those disappeared with this patch.
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: lbeltrame, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20659
---
src/runtime/component.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: kglobalaccel-5.57.0/src/runtime/component.cpp
===================================================================
--- kglobalaccel-5.57.0.orig/src/runtime/component.cpp
+++ kglobalaccel-5.57.0/src/runtime/component.cpp
@@ -160,7 +160,8 @@ bool Component::cleanUp()
{
bool changed = false;;
- for (GlobalShortcut *shortcut : qAsConst(_current->_actions))
+ const auto actions = _current->_actions;
+ for (GlobalShortcut *shortcut : actions)
{
qCDebug(KGLOBALACCELD) << _current->_actions.size();
if (!shortcut->isPresent())
++++++ Dont-use-qAsConst-over-a-temporary-variable.patch ++++++
From abe32ec599397bda0ce73471519410bee2c16059 Mon Sep 17 00:00:00 2001
From: Laurent Montel
Date: Sun, 14 Apr 2019 20:15:31 +0200
Subject: Don't use qAsConst over a temporary variable
Summary: BUG: 406426
Reviewers: dfaure
Reviewed By: dfaure
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20555
---
src/runtime/component.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/runtime/component.cpp b/src/runtime/component.cpp
index ce276b9..669df67 100644
--- a/src/runtime/component.cpp
+++ b/src/runtime/component.cpp
@@ -330,7 +330,8 @@ bool Component::isShortcutAvailable(
// context
if (component==uniqueName())
{
- for (GlobalShortcut *sc : qAsConst(shortcutContext(context)->_actions))
+ const auto actions = shortcutContext(context)->_actions;
+ for (GlobalShortcut *sc : actions)
{
if (sc->keys().contains(key)) return false;
}
--
cgit v1.1
++++++ kglobalaccel-5.56.0.tar.xz -> kglobalaccel-5.57.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/.gitignore new/kglobalaccel-5.57.0/.gitignore
--- old/kglobalaccel-5.56.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/kglobalaccel-5.57.0/.gitignore 2019-04-07 09:27:50.000000000 +0200
@@ -0,0 +1,21 @@
+# Ignore the following files
+*~
+*.[oa]
+*.diff
+*.kate-swp
+*.kdev4
+.kdev_include_paths
+*.kdevelop.pcs
+*.moc
+*.moc.cpp
+*.orig
+*.user
+.*.swp
+.swp.*
+Doxyfile
+Makefile
+avail
+random_seed
+/build*/
+CMakeLists.txt.user*
+*.unc-backup*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/CMakeLists.txt new/kglobalaccel-5.57.0/CMakeLists.txt
--- old/kglobalaccel-5.56.0/CMakeLists.txt 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/CMakeLists.txt 2019-04-07 09:27:50.000000000 +0200
@@ -1,12 +1,12 @@
cmake_minimum_required(VERSION 3.5)
-set(KF5_VERSION "5.56.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.56.0") # handled by release scripts
+set(KF5_VERSION "5.57.0") # handled by release scripts
+set(KF5_DEP_VERSION "5.57.0") # handled by release scripts
project(KGlobalAccel VERSION ${KF5_VERSION})
# ECM setup
include(FeatureSummary)
-find_package(ECM 5.56.0 NO_MODULE)
+find_package(ECM 5.57.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)
@@ -69,6 +69,7 @@
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
ecm_install_po_files_as_qm(po)
endif()
+add_definitions(-DQT_NO_FOREACH)
add_subdirectory(src)
if (BUILD_TESTING)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/po/id/kglobalaccel5_qt.po new/kglobalaccel-5.57.0/po/id/kglobalaccel5_qt.po
--- old/kglobalaccel-5.56.0/po/id/kglobalaccel5_qt.po 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/po/id/kglobalaccel5_qt.po 2019-04-07 09:27:50.000000000 +0200
@@ -16,7 +16,7 @@
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 2.0\n"
"X-Qt-Contexts: true\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/po/te/kglobalaccel5_qt.po new/kglobalaccel-5.57.0/po/te/kglobalaccel5_qt.po
--- old/kglobalaccel-5.56.0/po/te/kglobalaccel5_qt.po 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/po/te/kglobalaccel5_qt.po 2019-04-07 09:27:50.000000000 +0200
@@ -22,8 +22,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
-"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
-"4;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Qt-Contexts: true\n"
#: kglobalaccel.cpp:556
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/po/zh_CN/kglobalaccel5_qt.po new/kglobalaccel-5.57.0/po/zh_CN/kglobalaccel5_qt.po
--- old/kglobalaccel-5.56.0/po/zh_CN/kglobalaccel5_qt.po 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/po/zh_CN/kglobalaccel5_qt.po 2019-04-07 09:27:50.000000000 +0200
@@ -13,7 +13,7 @@
msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
-"PO-Revision-Date: 2019-02-20 23:15\n"
+"PO-Revision-Date: 2019-03-07 09:22\n"
"Last-Translator: guoyunhe \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/kglobalaccel.cpp new/kglobalaccel-5.57.0/src/kglobalaccel.cpp
--- old/kglobalaccel-5.56.0/src/kglobalaccel.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/kglobalaccel.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -379,7 +379,7 @@
QList<int> KGlobalAccelPrivate::intListFromShortcut(const QList<QKeySequence> &cut)
{
QList<int> ret;
- Q_FOREACH (const QKeySequence &sequence, cut) {
+ for (const QKeySequence &sequence : cut) {
ret.append(sequence[0]);
}
while (!ret.isEmpty() && ret.last() == 0) {
@@ -391,7 +391,7 @@
QList<QKeySequence> KGlobalAccelPrivate::shortcutFromIntList(const QList<int> &list)
{
QList<QKeySequence> ret;
- Q_FOREACH (int i, list) {
+ for (int i : list) {
ret.append(i);
}
return ret;
@@ -436,8 +436,8 @@
qlonglong timestamp)
{
QAction *action = nullptr;
- QList candidates = nameToAction.values(actionUnique);
- Q_FOREACH (QAction *const a, candidates) {
+ const QList candidates = nameToAction.values(actionUnique);
+ for (QAction *const a : candidates) {
if (componentUniqueForAction(a) == componentUnique) {
action = a;
}
@@ -503,10 +503,10 @@
//shortcut was changed but the kded side died before it got the message so
//autoloading will now assign an old shortcut to the action. Particularly
//picky apps might assert or misbehave.
- QSet allActions = actions;
+ const QSet allActions = actions;
nameToAction.clear();
actions.clear();
- Q_FOREACH (QAction *const action, allActions) {
+ for (QAction *const action : allActions) {
if (doRegister(action)) {
updateGlobalShortcut(action, ActiveShortcut, KGlobalAccel::Autoloading);
}
@@ -590,7 +590,7 @@
.arg(seq.toString(), component, shortcuts[0].friendlyName());
} else {
QString actionList;
- Q_FOREACH (const KGlobalShortcutInfo &info, shortcuts) {
+ for (const KGlobalShortcutInfo &info : shortcuts) {
actionList += tr("In context '%1' for action '%2'\n")
.arg(info.contextFriendlyName(), info.friendlyName());
}
@@ -631,7 +631,7 @@
{
// protect against garbage keycode -1 that Qt sometimes produces for exotic keys;
// at the moment (~mid 2008) Multimedia PlayPause is one of those keys.
- Q_FOREACH (const QKeySequence &sequence, shortcut) {
+ for (const QKeySequence &sequence : shortcut) {
for (int i = 0; i < 4; i++) {
if (sequence[i] == -1) {
qWarning() << "Encountered garbage keycode (keycode = -1) in input, not doing anything.";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/kglobalshortcutinfo_dbus.cpp new/kglobalaccel-5.57.0/src/kglobalshortcutinfo_dbus.cpp
--- old/kglobalaccel-5.56.0/src/kglobalshortcutinfo_dbus.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/kglobalshortcutinfo_dbus.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -29,12 +29,12 @@
<< shortcut.contextUniqueName()
<< shortcut.contextFriendlyName();
argument.beginArray(qMetaTypeId<int>());
- Q_FOREACH (const QKeySequence &key, shortcut.keys()) {
+ for (const QKeySequence &key : shortcut.keys()) {
argument << key[0];
}
argument.endArray();
argument.beginArray(qMetaTypeId<int>());
- Q_FOREACH (const QKeySequence &key, shortcut.defaultKeys()) {
+ for (const QKeySequence &key : shortcut.defaultKeys()) {
argument << key[0];
}
argument.endArray();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/component.cpp new/kglobalaccel-5.57.0/src/runtime/component.cpp
--- old/kglobalaccel-5.56.0/src/runtime/component.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/component.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -40,7 +40,7 @@
return ret;
}
const QStringList strList = str.split('\t');
- foreach (const QString &s, strList) {
+ for (const QString &s : strList) {
int key = QKeySequence(s)[0];
if (key != -1) { //sanity check just in case
ret.append(key);
@@ -56,7 +56,7 @@
return QStringLiteral("none");
}
QString ret;
- foreach (int key, keys) {
+ for (int key : keys) {
ret.append(QKeySequence(key).toString());
ret.append('\t');
}
@@ -123,7 +123,7 @@
void Component::activateShortcuts()
{
- Q_FOREACH (GlobalShortcut *shortcut, _current->_actions)
+ for (GlobalShortcut *shortcut : qAsConst(_current->_actions))
{
shortcut->setActive();
}
@@ -160,7 +160,7 @@
{
bool changed = false;;
- Q_FOREACH (GlobalShortcut *shortcut, _current->_actions)
+ for (GlobalShortcut *shortcut : qAsConst(_current->_actions))
{
qCDebug(KGLOBALACCELD) << _current->_actions.size();
if (!shortcut->isPresent())
@@ -216,7 +216,7 @@
void Component::deactivateShortcuts(bool temporarily)
{
- Q_FOREACH (GlobalShortcut *shortcut, _current->_actions)
+ for (GlobalShortcut *shortcut : qAsConst(_current->_actions))
{
if (temporarily
&& uniqueName() == QLatin1String("kwin")
@@ -281,7 +281,7 @@
QList Component::getShortcutsByKey(int key) const
{
QList rc;
- Q_FOREACH(GlobalShortcutContext *context, _contexts)
+ for (GlobalShortcutContext *context : qAsConst(_contexts))
{
GlobalShortcut *sc = context->getShortcutByKey(key);
if (sc) rc.append(sc);
@@ -311,7 +311,7 @@
{
// The component is active if at least one of it's global shortcuts is
// present.
- Q_FOREACH (GlobalShortcut *shortcut, _current->_actions)
+ for (GlobalShortcut *shortcut : qAsConst(_current->_actions))
{
if (shortcut->isPresent()) return true;
}
@@ -330,16 +330,16 @@
// context
if (component==uniqueName())
{
- Q_FOREACH(GlobalShortcut *sc, shortcutContext(context)->_actions)
+ for (GlobalShortcut *sc : qAsConst(shortcutContext(context)->_actions))
{
if (sc->keys().contains(key)) return false;
}
}
else
{
- Q_FOREACH(GlobalShortcutContext *ctx, _contexts)
+ for (GlobalShortcutContext *ctx : qAsConst(_contexts))
{
- Q_FOREACH(GlobalShortcut *sc, ctx->_actions)
+ for (GlobalShortcut *sc : qAsConst(ctx->_actions))
{
if (sc->keys().contains(key)) return false;
}
@@ -356,11 +356,11 @@
friendlyName,
currentContext());
- QList<int> keys = keysFromString(shortcutString);
+ const QList<int> keys = keysFromString(shortcutString);
shortcut->setDefaultKeys(keysFromString(defaultShortcutString));
shortcut->setIsFresh(false);
-
- Q_FOREACH (int key, keys)
+ QList<int> newKeys = keys;
+ for (int key : keys)
{
if (key != 0)
{
@@ -368,7 +368,7 @@
{
// The shortcut is already used. The config file is
// broken. Ignore the request.
- keys.removeAll(key);
+ newKeys.removeAll(key);
qCWarning(KGLOBALACCELD) << "Shortcut found twice in kglobalshortcutsrc."<_actions.value(uniqueName))
{
@@ -454,7 +455,7 @@
// Now write all contexts
- Q_FOREACH( GlobalShortcutContext *context, _contexts)
+ for( GlobalShortcutContext *context : qAsConst(_contexts))
{
KConfigGroup contextGroup;
@@ -473,7 +474,7 @@
// qCDebug(KGLOBALACCELD) << "writing group " << _uniqueName << ":" << context->uniqueName();
- Q_FOREACH(const GlobalShortcut *shortcut, context->_actions)
+ for (const GlobalShortcut *shortcut : qAsConst(context->_actions))
{
// qCDebug(KGLOBALACCELD) << "writing" << shortcut->uniqueName();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/globalshortcut.cpp new/kglobalaccel-5.57.0/src/runtime/globalshortcut.cpp
--- old/kglobalaccel-5.56.0/src/runtime/globalshortcut.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/globalshortcut.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -77,11 +77,11 @@
info.d->contextFriendlyName = context()->friendlyName();
info.d->componentUniqueName = context()->component()->uniqueName();
info.d->componentFriendlyName = context()->component()->friendlyName();
- Q_FOREACH (int key, _keys)
+ for (int key : qAsConst(_keys))
{
info.d->keys.append(QKeySequence(key));
}
- Q_FOREACH (int key, _defaultKeys)
+ for (int key : qAsConst(_defaultKeys))
{
info.d->defaultKeys.append(QKeySequence(key));
}
@@ -181,7 +181,7 @@
_keys = QList<int>();
- Q_FOREACH(int key, newKeys)
+ for(int key : qAsConst(newKeys))
{
if (key!=0 && !GlobalShortcutsRegistry::self()->getShortcutByKey(key))
{
@@ -222,7 +222,7 @@
return;
}
- Q_FOREACH( int key, _keys)
+ for( int key : qAsConst(_keys))
{
if (key != 0 && !GlobalShortcutsRegistry::self()->registerKey(key, this))
{
@@ -242,7 +242,7 @@
return;
}
- Q_FOREACH( int key, _keys)
+ for( int key : qAsConst(_keys))
{
if (key != 0 && !GlobalShortcutsRegistry::self()->unregisterKey(key, this))
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/globalshortcutcontext.cpp new/kglobalaccel-5.57.0/src/runtime/globalshortcutcontext.cpp
--- old/kglobalaccel-5.56.0/src/runtime/globalshortcutcontext.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/globalshortcutcontext.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -49,7 +49,7 @@
QList<KGlobalShortcutInfo> GlobalShortcutContext::allShortcutInfos() const
{
QList<KGlobalShortcutInfo> rc;
- Q_FOREACH (GlobalShortcut *shortcut, _actions)
+ for (GlobalShortcut *shortcut : qAsConst(_actions))
{
rc.append(static_cast<KGlobalShortcutInfo>(*shortcut));
}
@@ -84,7 +84,7 @@
if ((keyMod & Qt::SHIFT) && (keySym == Qt::Key_Backtab ||
keySym == Qt::Key_Tab))
{
- Q_FOREACH(GlobalShortcut *sc, _actions)
+ for (GlobalShortcut *sc : qAsConst(_actions))
{
if (sc->keys().contains(keyMod | Qt::Key_Tab) ||
sc->keys().contains(keyMod | Qt::Key_Backtab))
@@ -93,7 +93,7 @@
}
else
{
- Q_FOREACH(GlobalShortcut *sc, _actions)
+ for (GlobalShortcut *sc : qAsConst(_actions))
{
if (sc->keys().contains(key)) return sc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/globalshortcutsregistry.cpp new/kglobalaccel-5.57.0/src/runtime/globalshortcutsregistry.cpp
--- old/kglobalaccel-5.56.0/src/runtime/globalshortcutsregistry.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/globalshortcutsregistry.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -44,7 +44,7 @@
if (platformName.isEmpty()) {
platformName = QGuiApplication::platformName();
}
- foreach (const KPluginMetaData &candidate, candidates) {
+ for (const KPluginMetaData &candidate : candidates) {
const QJsonArray platforms = candidate.rawData().value(QStringLiteral("platforms")).toArray();
for (auto it = platforms.begin(); it != platforms.end(); ++it) {
if (QString::compare(platformName, (*it).toString(), Qt::CaseInsensitive) == 0) {
@@ -81,7 +81,8 @@
// Ungrab all keys. We don't go over GlobalShortcuts because
// GlobalShortcutsRegistry::self() doesn't work anymore.
- Q_FOREACH (const int key, _active_keys.keys())
+ const auto listKeys = _active_keys.keys();
+ for (const int key : listKeys)
{
_manager->grabKey(key, false);
}
@@ -111,7 +112,7 @@
void GlobalShortcutsRegistry::activateShortcuts()
{
- Q_FOREACH (KdeDGlobalAccel::Component *component, _components)
+ for (KdeDGlobalAccel::Component *component : qAsConst(_components))
{
component->activateShortcuts();
}
@@ -126,7 +127,7 @@
void GlobalShortcutsRegistry::clear()
{
- Q_FOREACH(KdeDGlobalAccel::Component *component, _components)
+ for (KdeDGlobalAccel::Component *component : qAsConst(_components))
{
delete component;
}
@@ -145,7 +146,7 @@
void GlobalShortcutsRegistry::deactivateShortcuts(bool temporarily)
{
- Q_FOREACH (KdeDGlobalAccel::Component *component, _components)
+ for (KdeDGlobalAccel::Component *component : qAsConst(_components))
{
component->deactivateShortcuts(temporarily);
}
@@ -166,7 +167,7 @@
GlobalShortcut *GlobalShortcutsRegistry::getShortcutByKey(int key) const
{
- Q_FOREACH (KdeDGlobalAccel::Component *component, _components)
+ for (KdeDGlobalAccel::Component *component : qAsConst(_components))
{
GlobalShortcut *rc = component->getShortcutByKey(key);
if (rc) return rc;
@@ -179,7 +180,7 @@
{
QList rc;
- Q_FOREACH (KdeDGlobalAccel::Component *component, _components)
+ for (KdeDGlobalAccel::Component *component : qAsConst(_components))
{
rc = component->getShortcutsByKey(key);
if (!rc.isEmpty()) return rc;
@@ -193,7 +194,7 @@
const QString &componentName,
const QString &contextName) const
{
- Q_FOREACH (KdeDGlobalAccel::Component *component, _components)
+ for (KdeDGlobalAccel::Component *component : qAsConst(_components))
{
if (!component->isShortcutAvailable(shortcut, componentName, contextName))
return false;
@@ -261,7 +262,8 @@
void GlobalShortcutsRegistry::loadSettings()
{
- foreach (const QString &groupName, _config.groupList())
+ const auto groupList = _config.groupList();
+ for (const QString &groupName : groupList)
{
qCDebug(KGLOBALACCELD) << "Loading group " << groupName;
@@ -292,7 +294,8 @@
}
// Now load the contexts
- Q_FOREACH(const QString& context, configGroup.groupList())
+ const auto groupList = configGroup.groupList();
+ for (const QString& context : groupList)
{
// Skip the friendly name group
if (context==QLatin1String("Friendly Name")) continue;
@@ -311,13 +314,14 @@
// Load the configured KServiceActions
const QStringList desktopPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kglobalaccel"), QStandardPaths::LocateDirectory);
- foreach (const QString &path, desktopPaths) {
+ for (const QString &path : desktopPaths) {
QDir dir(path);
if (!dir.exists()) {
continue;
}
const QStringList patterns = {QStringLiteral("*.desktop")};
- foreach (const QString &desktopFile, dir.entryList(patterns)) {
+ const auto lstDesktopFiles = dir.entryList(patterns);
+ for (const QString &desktopFile : lstDesktopFiles) {
if (_components.contains(desktopFile)) {
continue;
}
@@ -417,9 +421,10 @@
void GlobalShortcutsRegistry::writeSettings() const
{
- Q_FOREACH(
- const KdeDGlobalAccel::Component *component,
- GlobalShortcutsRegistry::self()->allMainComponents())
+ const auto lst = GlobalShortcutsRegistry::self()->allMainComponents();
+ for (
+ const KdeDGlobalAccel::Component *component : lst
+ )
{
KConfigGroup configGroup(&_config, component->uniqueName());
if (component->allShortcuts().isEmpty())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/kglobalacceld.cpp new/kglobalaccel-5.57.0/src/runtime/kglobalacceld.cpp
--- old/kglobalaccel-5.56.0/src/runtime/kglobalacceld.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/kglobalacceld.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -295,7 +295,8 @@
partialId.append(component->friendlyName()); //ComponentFriendly
partialId.append(QString()); //ActionFriendly
- foreach (const GlobalShortcut *const shortcut, component->allShortcuts()) {
+ const auto listShortcuts = component->allShortcuts();
+ for (const GlobalShortcut *const shortcut : listShortcuts) {
if (shortcut->isFresh()) {
// isFresh is only an intermediate state, not to be reported outside.
continue;
@@ -338,8 +339,9 @@
{
QList<QDBusObjectPath> allComp;
- Q_FOREACH (const KdeDGlobalAccel::Component *component,
- GlobalShortcutsRegistry::self()->allMainComponents())
+ const auto lstMainComponents = GlobalShortcutsRegistry::self()->allMainComponents();
+ for (const KdeDGlobalAccel::Component *component :
+ lstMainComponents)
{
allComp.append(component->dbusPath());
}
@@ -435,11 +437,11 @@
#ifdef KDEDGLOBALACCEL_TRACE
qCDebug(KGLOBALACCELD) << key;
#endif
- QList shortcuts =
+ const QList shortcuts =
GlobalShortcutsRegistry::self()->getShortcutsByKey(key);
QList<KGlobalShortcutInfo> rc;
- Q_FOREACH(const GlobalShortcut *sc, shortcuts)
+ for (const GlobalShortcut *sc : shortcuts)
{
#ifdef KDEDGLOBALACCEL_TRACE
qCDebug(KGLOBALACCELD) << sc->context()->uniqueName() << sc->uniqueName();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/kserviceactioncomponent.cpp new/kglobalaccel-5.57.0/src/runtime/kserviceactioncomponent.cpp
--- old/kglobalaccel-5.56.0/src/runtime/kserviceactioncomponent.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/kserviceactioncomponent.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -75,7 +75,8 @@
}
return;
}
- foreach (const QString &action, m_desktopFile.readActions()) {
+ const auto lstActions = m_desktopFile.readActions();
+ for (const QString &action : lstActions) {
if (action == shortcut.uniqueName()) {
QStringList parts = m_desktopFile.actionGroup(action).readEntry(QStringLiteral("Exec"), QString()).split(QChar(' '));
@@ -119,8 +120,8 @@
GlobalShortcut *shortcut = registerShortcut(QStringLiteral("_launch"), m_desktopFile.readName(), shortcutString, shortcutString);
shortcut->setIsPresent(true);
-
- foreach(const QString &action, m_desktopFile.readActions())
+ const auto lstActions = m_desktopFile.readActions();
+ for (const QString &action : lstActions)
{
shortcuts = m_desktopFile.actionGroup(action).readEntry(QStringLiteral("X-KDE-Shortcuts"), QString()).split(QChar(','));
if (!shortcuts.isEmpty())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kglobalaccel-5.56.0/src/runtime/plugins/osx/kglobalaccel_mac.cpp new/kglobalaccel-5.57.0/src/runtime/plugins/osx/kglobalaccel_mac.cpp
--- old/kglobalaccel-5.56.0/src/runtime/plugins/osx/kglobalaccel_mac.cpp 2019-03-02 14:39:55.000000000 +0100
+++ new/kglobalaccel-5.57.0/src/runtime/plugins/osx/kglobalaccel_mac.cpp 2019-04-07 09:27:50.000000000 +0200
@@ -94,7 +94,7 @@
KKeyServer::keyQtToModMac( keyQt, mod );
qCDebug(KGLOBALACCELD) << "keyQt: " << keyQt << " mod: " << mod;
- foreach (uint keyCode, keyCodes) {
+ for (uint keyCode : qAsConst(keyCodes)) {
qCDebug(KGLOBALACCELD) << " keyCode: " << keyCode;
}
@@ -102,7 +102,7 @@
ehkid.signature = 'Kgai';
ehkid.id = keyQt;
QList<EventHotKeyRef> hotkeys;
- foreach (uint keyCode, keyCodes) {
+ for (uint keyCode : qAsConst(keyCodes)) {
EventHotKeyRef ref;
if (RegisterEventHotKey(keyCode, mod, ehkid, m_eventTarget, 0, &ref) != noErr) {
qCWarning(KGLOBALACCELD) << "RegisterEventHotKey failed!";
@@ -113,7 +113,8 @@
} else {
qCDebug(KGLOBALACCELD) << "Ungrabbing key " << keyQt;
if (refs->count(keyQt) == 0) qCWarning(KGLOBALACCELD) << "Trying to ungrab a key thas is not grabbed";
- foreach (const EventHotKeyRef &ref, refs->value(keyQt)) {
+ const auto lstRef = refs->value(keyQt);
+ for (const EventHotKeyRef &ref : lstRef) {
if (UnregisterEventHotKey(ref) != noErr) {
qCWarning(KGLOBALACCELD) << "UnregisterEventHotKey should not fail!";
}
@@ -149,7 +150,7 @@
grabKey(key, false);
}
// Now re-grab all the keys
- foreach (int key, keys) {
+ for (int key : qAsConst(keys)) {
grabKey(key, true);
}
}