Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-kcompletion for openSUSE:Factory 
checked in at 2026-08-17 16:56:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-kcompletion (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-kcompletion.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-kcompletion"

Mon Aug 17 16:56:13 2026 rev:30 rq:1371366 version:6.29.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-kcompletion/kf6-kcompletion.changes  
2026-07-15 16:34:47.060551355 +0200
+++ 
/work/SRC/openSUSE:Factory/.kf6-kcompletion.new.1258/kf6-kcompletion.changes    
    2026-08-17 16:58:52.458780865 +0200
@@ -1,0 +2,13 @@
+Sun Aug  9 10:38:26 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.29.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/6/6.29.0
+- Changes since 6.28.0:
+  * Update dependency version to 6.29.0
+  * KCompletionBase/KCompletionMatches: move Q_DECLARE_PRIVATE to PRIVATE
+  * KCompletionBox::eventFilter: minimize code executed when filter not hit
+  * Update version to 6.29.0
+
+-------------------------------------------------------------------

Old:
----
  kcompletion-6.28.0.tar.xz
  kcompletion-6.28.0.tar.xz.sig

New:
----
  kcompletion-6.29.0.tar.xz
  kcompletion-6.29.0.tar.xz.sig

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

Other differences:
------------------
++++++ kf6-kcompletion.spec ++++++
--- /var/tmp/diff_new_pack.DPQqf9/_old  2026-08-17 16:58:53.290810263 +0200
+++ /var/tmp/diff_new_pack.DPQqf9/_new  2026-08-17 16:58:53.293810369 +0200
@@ -19,11 +19,11 @@
 %define qt6_version 6.9.0
 
 %define rname kcompletion
-# Full KF6 version (e.g. 6.28.0)
+# Full KF6 version (e.g. 6.29.0)
 %{!?_kf6_version: %global _kf6_version %{version}}
 %bcond_without released
 Name:           kf6-kcompletion
-Version:        6.28.0
+Version:        6.29.0
 Release:        0
 Summary:        Widgets with advanced completion support
 License:        LGPL-2.1-or-later


++++++ kcompletion-6.28.0.tar.xz -> kcompletion-6.29.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcompletion-6.28.0/CMakeLists.txt 
new/kcompletion-6.29.0/CMakeLists.txt
--- old/kcompletion-6.28.0/CMakeLists.txt       2026-07-03 12:52:34.000000000 
+0200
+++ new/kcompletion-6.29.0/CMakeLists.txt       2026-08-07 22:39:25.000000000 
+0200
@@ -1,12 +1,12 @@
 cmake_minimum_required(VERSION 3.29)
 
-set(KF_VERSION "6.28.0") # handled by release scripts
-set(KF_DEP_VERSION "6.28.0") # handled by release scripts
+set(KF_VERSION "6.29.0") # handled by release scripts
+set(KF_DEP_VERSION "6.29.0") # handled by release scripts
 project(KCompletion VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 6.28.0  NO_MODULE)
+find_package(ECM 6.29.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/kcompletion-6.28.0/poqm/de/kcompletion6_qt.po 
new/kcompletion-6.29.0/poqm/de/kcompletion6_qt.po
--- old/kcompletion-6.28.0/poqm/de/kcompletion6_qt.po   2026-07-03 
12:52:34.000000000 +0200
+++ new/kcompletion-6.29.0/poqm/de/kcompletion6_qt.po   2026-08-07 
22:39:25.000000000 +0200
@@ -1,11 +1,11 @@
-# SPDX-FileCopyrightText: 2002, 2003, 2004, 2005 Thomas Diehl <[email protected]>
+# SPDX-FileCopyrightText: 2002-2005 Thomas Diehl <[email protected]>
 # SPDX-FileCopyrightText: 2004 Stefan Winter <[email protected]>
 # SPDX-FileCopyrightText: 2004 Thomas Fischer <[email protected]>
-# SPDX-FileCopyrightText: 2004, 2005, 2006, 2007 Stephan Johach <[email protected]>
+# SPDX-FileCopyrightText: 2004-2007 Stephan Johach <[email protected]>
 # SPDX-FileCopyrightText: 2005 Georg Schuster <[email protected]>
-# SPDX-FileCopyrightText: 2005, 2006, 2007, 2008, 2009 Thomas Reitelbach 
<[email protected]>
-# SPDX-FileCopyrightText: 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2020 
Burkhard Lück <[email protected]>
-# SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013 Frederik 
Schwarzer <[email protected]>
+# SPDX-FileCopyrightText: 2005-2009 Thomas Reitelbach <[email protected]>
+# SPDX-FileCopyrightText: 2006-2007, 2009-2014, 2020 Burkhard Lück 
<[email protected]>
+# SPDX-FileCopyrightText: 2007-2013 Frederik Schwarzer <[email protected]>
 # SPDX-FileCopyrightText: 2010 Johannes Obermayr <[email protected]>
 # SPDX-FileCopyrightText: 2010 Panagiotis Papadopoulos <[email protected]>
 # SPDX-FileCopyrightText: 2012 Rolf Eike Beer <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcompletion-6.28.0/src/kcompletionbase.h 
new/kcompletion-6.29.0/src/kcompletionbase.h
--- old/kcompletion-6.28.0/src/kcompletionbase.h        2026-07-03 
12:52:34.000000000 +0200
+++ new/kcompletion-6.29.0/src/kcompletionbase.h        2026-08-07 
22:39:25.000000000 +0200
@@ -34,7 +34,6 @@
 class KCOMPLETION_EXPORT KCompletionBase
 {
 public:
-    Q_DECLARE_PRIVATE(KCompletionBase)
     /*!
      * Constants that represent the items whose shortcut
      * key binding is programmable. The default key bindings
@@ -329,6 +328,7 @@
     virtual void virtual_hook(int id, void *data);
 
 private:
+    Q_DECLARE_PRIVATE(KCompletionBase)
     Q_DISABLE_COPY(KCompletionBase)
     std::unique_ptr<KCompletionBasePrivate> const d_ptr;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcompletion-6.28.0/src/kcompletionbox.cpp 
new/kcompletion-6.29.0/src/kcompletionbox.cpp
--- old/kcompletion-6.28.0/src/kcompletionbox.cpp       2026-07-03 
12:52:34.000000000 +0200
+++ new/kcompletion-6.29.0/src/kcompletionbox.cpp       2026-08-07 
22:39:25.000000000 +0200
@@ -90,159 +90,162 @@
 
 bool KCompletionBox::eventFilter(QObject *o, QEvent *e)
 {
-    int type = e->type();
-    QWidget *wid = qobject_cast<QWidget *>(o);
-
-    if (o == this) {
-        return false;
-    }
-
-    if (wid && wid == d->m_parent //
-        && (type == QEvent::Move || type == QEvent::Resize)) {
-        resizeAndReposition();
-        return false;
-    }
-
-    if (wid && (wid->windowFlags() & Qt::Window) //
-        && type == QEvent::Move && wid == d->m_parent->window()) {
-        hide();
-        return false;
-    }
-
-    if (type == QEvent::MouseButtonPress && (wid && !isAncestorOf(wid))) {
-        if (!d->emitSelected && currentItem() && !qobject_cast<QScrollBar 
*>(o)) {
-            Q_ASSERT(currentItem());
-            Q_EMIT currentTextChanged(currentItem()->text());
-        }
-        hide();
-        e->accept();
-        return true;
-    }
+    if (o != this) {
+        if (const auto *const wid = qobject_cast<QWidget *>(o)) {
+            const int type = e->type();
+
+            if (type == QEvent::Resize) {
+                if (wid == d->m_parent) {
+                    resizeAndReposition();
+                    return false;
+                }
+            } else if (type == QEvent::Move) {
+                if (wid == d->m_parent) {
+                    resizeAndReposition();
+                    return false;
+                }
 
-    if (wid && wid->isAncestorOf(d->m_parent) && isVisible()) {
-        if (type == QEvent::KeyPress) {
-            QKeyEvent *ev = static_cast<QKeyEvent *>(e);
-            switch (ev->key()) {
-            case Qt::Key_Backtab:
-                if (d->tabHandling && (ev->modifiers() == Qt::NoButton || 
(ev->modifiers() & Qt::ShiftModifier))) {
-                    up();
-                    ev->accept();
+                if ((wid->windowFlags() & Qt::Window) //
+                    && wid == d->m_parent->window()) {
+                    hide();
+                    return false;
+                }
+            } else if (type == QEvent::MouseButtonPress) {
+                if ((!isAncestorOf(wid))) {
+                    if (!d->emitSelected && currentItem() && 
!qobject_cast<QScrollBar *>(o)) {
+                        Q_ASSERT(currentItem());
+                        Q_EMIT currentTextChanged(currentItem()->text());
+                    }
+                    hide();
+                    e->accept();
                     return true;
                 }
-                break;
-            case Qt::Key_Tab:
-                if (d->tabHandling && (ev->modifiers() == Qt::NoButton)) {
-                    down();
-                    // #65877: Key_Tab should complete using the first
-                    // (or selected) item, and then offer completions again
-                    if (count() == 1) {
-                        KLineEdit *parent = qobject_cast<KLineEdit 
*>(d->m_parent);
-                        if (parent) {
-                            parent->doCompletion(currentItem()->text());
+            } else if (wid->isAncestorOf(d->m_parent) && isVisible()) {
+                if (type == QEvent::KeyPress) {
+                    QKeyEvent *ev = static_cast<QKeyEvent *>(e);
+                    switch (ev->key()) {
+                    case Qt::Key_Backtab:
+                        if (d->tabHandling && (ev->modifiers() == Qt::NoButton 
|| (ev->modifiers() & Qt::ShiftModifier))) {
+                            up();
+                            ev->accept();
+                            return true;
+                        }
+                        break;
+                    case Qt::Key_Tab:
+                        if (d->tabHandling && (ev->modifiers() == 
Qt::NoButton)) {
+                            down();
+                            // #65877: Key_Tab should complete using the first
+                            // (or selected) item, and then offer completions 
again
+                            if (count() == 1) {
+                                KLineEdit *parent = qobject_cast<KLineEdit 
*>(d->m_parent);
+                                if (parent) {
+                                    
parent->doCompletion(currentItem()->text());
+                                } else {
+                                    hide();
+                                }
+                            }
+                            ev->accept();
+                            return true;
+                        }
+                        break;
+                    case Qt::Key_Down:
+                        down();
+                        ev->accept();
+                        return true;
+                    case Qt::Key_Up:
+                        // If there is no selected item and we've popped up 
above
+                        // our parent, select the first item when they press 
up.
+                        if (!selectedItems().isEmpty() //
+                            || mapToGlobal(QPoint(0, 0)).y() > 
d->m_parent->mapToGlobal(QPoint(0, 0)).y()) {
+                            up();
                         } else {
+                            down();
+                        }
+                        ev->accept();
+                        return true;
+                    case Qt::Key_PageUp:
+                        pageUp();
+                        ev->accept();
+                        return true;
+                    case Qt::Key_PageDown:
+                        pageDown();
+                        ev->accept();
+                        return true;
+                    case Qt::Key_Escape:
+                        if (!d->cancelText.isNull()) {
+                            Q_EMIT userCancelled(d->cancelText);
+                        }
+                        if (isVisible()) {
                             hide();
                         }
+                        ev->accept();
+                        return true;
+                    case Qt::Key_Enter:
+                    case Qt::Key_Return:
+                        if (ev->modifiers() & Qt::ShiftModifier) {
+                            hide();
+                            ev->accept(); // Consume the Enter event
+                            return true;
+                        }
+                        break;
+                    case Qt::Key_End:
+                        if (ev->modifiers() & Qt::ControlModifier) {
+                            end();
+                            ev->accept();
+                            return true;
+                        }
+                        break;
+                    case Qt::Key_Home:
+                        if (ev->modifiers() & Qt::ControlModifier) {
+                            home();
+                            ev->accept();
+                            return true;
+                        }
+                        Q_FALLTHROUGH();
+                    default:
+                        break;
                     }
-                    ev->accept();
-                    return true;
-                }
-                break;
-            case Qt::Key_Down:
-                down();
-                ev->accept();
-                return true;
-            case Qt::Key_Up:
-                // If there is no selected item and we've popped up above
-                // our parent, select the first item when they press up.
-                if (!selectedItems().isEmpty() //
-                    || mapToGlobal(QPoint(0, 0)).y() > 
d->m_parent->mapToGlobal(QPoint(0, 0)).y()) {
-                    up();
-                } else {
-                    down();
-                }
-                ev->accept();
-                return true;
-            case Qt::Key_PageUp:
-                pageUp();
-                ev->accept();
-                return true;
-            case Qt::Key_PageDown:
-                pageDown();
-                ev->accept();
-                return true;
-            case Qt::Key_Escape:
-                if (!d->cancelText.isNull()) {
-                    Q_EMIT userCancelled(d->cancelText);
-                }
-                if (isVisible()) {
-                    hide();
-                }
-                ev->accept();
-                return true;
-            case Qt::Key_Enter:
-            case Qt::Key_Return:
-                if (ev->modifiers() & Qt::ShiftModifier) {
-                    hide();
-                    ev->accept(); // Consume the Enter event
-                    return true;
-                }
-                break;
-            case Qt::Key_End:
-                if (ev->modifiers() & Qt::ControlModifier) {
-                    end();
-                    ev->accept();
-                    return true;
-                }
-                break;
-            case Qt::Key_Home:
-                if (ev->modifiers() & Qt::ControlModifier) {
-                    home();
-                    ev->accept();
-                    return true;
-                }
-                Q_FALLTHROUGH();
-            default:
-                break;
-            }
-        } else if (type == QEvent::ShortcutOverride) {
-            // Override any accelerators that match
-            // the key sequences we use here...
-            QKeyEvent *ev = static_cast<QKeyEvent *>(e);
-            switch (ev->key()) {
-            case Qt::Key_Down:
-            case Qt::Key_Up:
-            case Qt::Key_PageUp:
-            case Qt::Key_PageDown:
-            case Qt::Key_Escape:
-            case Qt::Key_Enter:
-            case Qt::Key_Return:
-                ev->accept();
-                return true;
-            case Qt::Key_Tab:
-            case Qt::Key_Backtab:
-                if (ev->modifiers() == Qt::NoButton || (ev->modifiers() & 
Qt::ShiftModifier)) {
-                    ev->accept();
-                    return true;
-                }
-                break;
-            case Qt::Key_Home:
-            case Qt::Key_End:
-                if (ev->modifiers() & Qt::ControlModifier) {
-                    ev->accept();
-                    return true;
-                }
-                break;
-            default:
-                break;
-            }
-        } else if (type == QEvent::FocusOut) {
-            QFocusEvent *event = static_cast<QFocusEvent *>(e);
-            if (event->reason() != Qt::PopupFocusReason
+                } else if (type == QEvent::ShortcutOverride) {
+                    // Override any accelerators that match
+                    // the key sequences we use here...
+                    QKeyEvent *ev = static_cast<QKeyEvent *>(e);
+                    switch (ev->key()) {
+                    case Qt::Key_Down:
+                    case Qt::Key_Up:
+                    case Qt::Key_PageUp:
+                    case Qt::Key_PageDown:
+                    case Qt::Key_Escape:
+                    case Qt::Key_Enter:
+                    case Qt::Key_Return:
+                        ev->accept();
+                        return true;
+                    case Qt::Key_Tab:
+                    case Qt::Key_Backtab:
+                        if (ev->modifiers() == Qt::NoButton || 
(ev->modifiers() & Qt::ShiftModifier)) {
+                            ev->accept();
+                            return true;
+                        }
+                        break;
+                    case Qt::Key_Home:
+                    case Qt::Key_End:
+                        if (ev->modifiers() & Qt::ControlModifier) {
+                            ev->accept();
+                            return true;
+                        }
+                        break;
+                    default:
+                        break;
+                    }
+                } else if (type == QEvent::FocusOut) {
+                    QFocusEvent *event = static_cast<QFocusEvent *>(e);
+                    if (event->reason() != Qt::PopupFocusReason
 #ifdef Q_OS_WIN
-                && (event->reason() != Qt::ActiveWindowFocusReason || 
QApplication::activeWindow() != this)
+                        && (event->reason() != Qt::ActiveWindowFocusReason || 
QApplication::activeWindow() != this)
 #endif
-            ) {
-                hide();
+                    ) {
+                        hide();
+                    }
+                }
             }
         }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcompletion-6.28.0/src/kcompletionmatches.h 
new/kcompletion-6.29.0/src/kcompletionmatches.h
--- old/kcompletion-6.28.0/src/kcompletionmatches.h     2026-07-03 
12:52:34.000000000 +0200
+++ new/kcompletion-6.29.0/src/kcompletionmatches.h     2026-08-07 
22:39:25.000000000 +0200
@@ -47,7 +47,6 @@
 class KCOMPLETION_EXPORT KCompletionMatches : public KCompletionMatchesList
 {
 public:
-    Q_DECLARE_PRIVATE(KCompletionMatches)
     /*!
      * Default constructor.
      *
@@ -89,6 +88,7 @@
     bool sorting() const;
 
 private:
+    Q_DECLARE_PRIVATE(KCompletionMatches)
     std::unique_ptr<KCompletionMatchesPrivate> const d_ptr;
 };
 

Reply via email to