Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package union6 for openSUSE:Factory checked 
in at 2026-10-29 16:05:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/union6 (Old)
 and      /work/SRC/openSUSE:Factory/.union6.new.1255 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "union6"

Thu Oct 29 16:05:37 2026 rev:9 rq:1393361 version:6.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/union6/union6.changes    2026-10-22 
15:49:21.355738008 +0200
+++ /work/SRC/openSUSE:Factory/.union6.new.1255/union6.changes  2026-10-29 
16:07:12.484245867 +0100
@@ -1,0 +2,20 @@
+Tue Oct 27 18:10:21 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.8.2
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/6/6.8.2
+- Changes since 6.8.1:
+  * Update version for new release 6.8.2
+  * AbstractElement: Set elementQuery at construction
+  * IndicatorElement: Set indicator values at construction
+  * TabElement: set hSpace and vSpace at construction
+  * AbstractElement: Check if we already have this element and update it
+  * output/widgets: scale the widget animation duration with the animation 
speed (kde#527527)
+  * output/quick: Explicitly set the Style instance for TextArea's background 
(kde#527455)
+  * input/css/breeze: Only round delegate backgrounds in list when highlighted 
(kde#527087)
+  * output/quick: Also consider parent for inside-{list,table} hints
+  * input/css/breeze: Use large spacing for menubar item horizontal padding 
(kde#527213)
+  * output/widgets: Don't dereference potential nullptr value (kde#527459)
+
+-------------------------------------------------------------------

Old:
----
  union-6.8.1.tar.xz
  union-6.8.1.tar.xz.sig

New:
----
  union-6.8.2.tar.xz
  union-6.8.2.tar.xz.sig

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

Other differences:
------------------
++++++ union6.spec ++++++
--- /var/tmp/diff_new_pack.4Jeel9/_old  2026-10-29 16:07:13.309280457 +0100
+++ /var/tmp/diff_new_pack.4Jeel9/_new  2026-10-29 16:07:13.310280499 +0100
@@ -26,7 +26,7 @@
 %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk 
-F. '{print $1"."$2}')}
 %bcond_without released
 Name:           union6
-Version:        6.8.1
+Version:        6.8.2
 Release:        0
 Summary:        Qt style supporting both QtQuick and QtWidgets
 License:        LGPL-2.1-or-later


++++++ union-6.8.1.tar.xz -> union-6.8.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/union-6.8.1/CMakeLists.txt 
new/union-6.8.2/CMakeLists.txt
--- old/union-6.8.1/CMakeLists.txt      2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/CMakeLists.txt      2026-10-27 12:35:55.000000000 +0100
@@ -3,7 +3,7 @@
 
 cmake_minimum_required(VERSION 3.27)
 
-set(PROJECT_VERSION "6.8.1") # handled by release scripts
+set(PROJECT_VERSION "6.8.2") # handled by release scripts
 set(KF6_MIN_VERSION "6.30.0") # handled by release scripts
 set(CSS_PARSER_VERSION "1.1.0")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/input/css/styles/breeze/contents/css/delegate.css 
new/union-6.8.2/src/input/css/styles/breeze/contents/css/delegate.css
--- old/union-6.8.1/src/input/css/styles/breeze/contents/css/delegate.css       
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/input/css/styles/breeze/contents/css/delegate.css       
2026-10-27 12:35:55.000000000 +0100
@@ -73,13 +73,18 @@
         text-wrap-mode: no-wrap;
     }
 
-    &.inside-list {
-        &.hover-enabled {
+    &.inside-list.hover-enabled {
+        &:hovered,
+        &:active-focus,
+        &:pressed,
+        &:highlighted
+        {
             inset: var(--delegate-spacing);
             inset-bottom: 0px;
             border-radius: var(--corner-radius);
 
             &.last-in-list {
+                padding-bottom: var(--delegate-total-padding);
                 inset-bottom: var(--delegate-spacing);
             }
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/input/css/styles/breeze/contents/css/popup.css 
new/union-6.8.2/src/input/css/styles/breeze/contents/css/popup.css
--- old/union-6.8.1/src/input/css/styles/breeze/contents/css/popup.css  
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/input/css/styles/breeze/contents/css/popup.css  
2026-10-27 12:35:55.000000000 +0100
@@ -163,8 +163,7 @@
 {
     width: var(--medium-element-size);
     height: var(--medium-element-size);
-    padding: var(--small-spacing);
-    spacing: var(--small-spacing);
+    padding: var(--large-spacing) var(--medium-spacing);
 
     border-radius: var(--corner-radius);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtquick/style/CheckDelegate.qml 
new/union-6.8.2/src/output/qtquick/style/CheckDelegate.qml
--- old/union-6.8.1/src/output/qtquick/style/CheckDelegate.qml  2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtquick/style/CheckDelegate.qml  2026-10-27 
12:35:55.000000000 +0100
@@ -28,8 +28,8 @@
     Union.Element.hints: [
         Union.ElementHint { name: "with-icon"; when: control.icon.name || 
control.icon.source.toString() },
         Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled 
},
-        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
},
-        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view },
+        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
|| control.parent?.ListView.view },
+        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view || control.parent?.TableView.view },
         Union.ElementHint { name: "alternating-colors"; when: 
control.__alternatingColors },
         Union.ElementHint { name: "changed"; when: false },
         Union.ElementHint { name: "last-in-list"; when: typeof index !== 
"undefined" && control.ListView.view && index == control.ListView.view.count - 
1 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtquick/style/ItemDelegate.qml 
new/union-6.8.2/src/output/qtquick/style/ItemDelegate.qml
--- old/union-6.8.1/src/output/qtquick/style/ItemDelegate.qml   2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtquick/style/ItemDelegate.qml   2026-10-27 
12:35:55.000000000 +0100
@@ -31,8 +31,8 @@
     Union.Element.hints: [
         Union.ElementHint { name: "with-icon"; when: control.icon.name || 
control.icon.source.toString() },
         Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled 
},
-        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
},
-        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view },
+        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
|| control.parent?.ListView.view },
+        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view || control.parent?.TableView.view },
         Union.ElementHint { name: "alternating-colors"; when: 
control.__alternatingColors },
         Union.ElementHint { name: "changed"; when: false },
         Union.ElementHint { name: "last-in-list"; when: typeof index !== 
"undefined" && control.ListView.view && index == control.ListView.view.count - 
1 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtquick/style/RadioDelegate.qml 
new/union-6.8.2/src/output/qtquick/style/RadioDelegate.qml
--- old/union-6.8.1/src/output/qtquick/style/RadioDelegate.qml  2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtquick/style/RadioDelegate.qml  2026-10-27 
12:35:55.000000000 +0100
@@ -27,8 +27,8 @@
     Union.Element.hints: [
         Union.ElementHint { name: "with-icon"; when: control.icon.name || 
control.icon.source.toString() },
         Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled 
},
-        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
},
-        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view },
+        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
|| control.parent?.ListView.view },
+        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view || control.parent?.TableView.view },
         Union.ElementHint { name: "alternating-colors"; when: 
control.__alternatingColors },
         Union.ElementHint { name: "changed"; when: false },
         Union.ElementHint { name: "last-in-list"; when: typeof index !== 
"undefined" && control.ListView.view && index == control.ListView.view.count - 
1 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtquick/style/SwitchDelegate.qml 
new/union-6.8.2/src/output/qtquick/style/SwitchDelegate.qml
--- old/union-6.8.1/src/output/qtquick/style/SwitchDelegate.qml 2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtquick/style/SwitchDelegate.qml 2026-10-27 
12:35:55.000000000 +0100
@@ -27,8 +27,8 @@
     Union.Element.hints: [
         Union.ElementHint { name: "with-icon"; when: control.icon.name || 
control.icon.source.toString() },
         Union.ElementHint { name: "hover-enabled"; when: control.hoverEnabled 
},
-        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
},
-        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view },
+        Union.ElementHint { name: "inside-list"; when: control.ListView?.view 
|| control.parent?.ListView.view },
+        Union.ElementHint { name: "inside-table"; when: 
control.TableView?.view || control.parent?.TableView.view },
         Union.ElementHint { name: "alternating-colors"; when: 
control.__alternatingColors },
         Union.ElementHint { name: "changed"; when: false },
         Union.ElementHint { name: "last-in-list"; when: typeof index !== 
"undefined" && control.ListView.view && index == control.ListView.view.count - 
1 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/union-6.8.1/src/output/qtquick/style/TextArea.qml 
new/union-6.8.2/src/output/qtquick/style/TextArea.qml
--- old/union-6.8.1/src/output/qtquick/style/TextArea.qml       2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtquick/style/TextArea.qml       2026-10-27 
12:35:55.000000000 +0100
@@ -72,7 +72,13 @@
         renderType: control.renderType
     }
 
-    background: Union.StyledRectangle {}
+    background: Union.StyledRectangle {
+        // Controls TextArea will reparent the background to the parent if the
+        // parent is a flickable. This then results in the background losing 
the
+        // relation to the main TextArea. Ensure we read the right properties
+        // for the background regardless of the parent.
+        style: control.Union.Style
+    }
 
     T.ContextMenu.menu: P.TextFieldContextMenu {
         target: control
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/union-6.8.1/src/output/qtwidgets/UnionStyle.cpp 
new/union-6.8.2/src/output/qtwidgets/UnionStyle.cpp
--- old/union-6.8.1/src/output/qtwidgets/UnionStyle.cpp 2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/UnionStyle.cpp 2026-10-27 
12:35:55.000000000 +0100
@@ -623,7 +623,8 @@
     case SH_Menu_SupportsSections:
         return true;
     case SH_Widget_Animation_Duration:
-        return 150;
+        // 0 when the animation speed is set to instantaneous, which turns the 
animations off.
+        return qRound(150 * 
Union::StyleRegistry::instance()->platform()->animationSpeedMultiplier());
     case SH_DialogButtonBox_ButtonsHaveIcons:
         return true;
     case SH_GroupBox_TextLabelVerticalAlignment:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.cpp 
new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.cpp
--- old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.cpp   
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.cpp   
2026-10-27 12:35:55.000000000 +0100
@@ -5,7 +5,6 @@
 #include "SharedNames.h"
 #include "UnionStyle.h"
 #include "qtwidgets_logging.h"
-#include <ElementQuery.h>
 #include <QApplication>
 #include <QDebug>
 #include <QPainter>
@@ -20,6 +19,7 @@
     , m_styleOption(option)
     , m_style(style)
     , m_widget(widget)
+    , 
m_elementQuery(std::make_unique<Union::ElementQuery>(Union::StyleRegistry::instance()->defaultStyle()))
 {
 }
 
@@ -485,11 +485,10 @@
 Union::Properties::StylePropertyGroup *AbstractElement::queryProperties(const 
Union::ElementList &elements) const
 {
     Q_ASSERT(!elements.isEmpty());
-    const auto style = Union::StyleRegistry::instance()->defaultStyle();
-    const auto query = std::make_unique<Union::ElementQuery>(style);
-    query->setElements(elements);
-    query->execute();
-    return query->properties();
+
+    m_elementQuery->setElements(elements);
+    m_elementQuery->execute();
+    return m_elementQuery->properties();
 }
 
 QMap<QString, LayoutItem> AbstractElement::layoutMap(const Union::ElementList 
&elements, const QStyleOption *opt, const QStringList &subElementList) const
@@ -501,7 +500,7 @@
     // If subelement list is empty, just use default widget item.
     // This ensures any custom components get layouted too.
     if (subElements.empty()) {
-        qCDebug(UNION_QTWIDGETS) << "No sublements given, using Widget 
placeholder for" << elements << opt->type << opt->styleObject;
+        qCDebug(UNION_QTWIDGETS) << "No subelements given, using Widget 
placeholder for" << elements;
         subElements = {ElementString::Widget};
     }
 
@@ -641,8 +640,17 @@
 
 Union::Element::Ptr AbstractElement::createElement(const QString &name) const
 {
-    auto unionElement = Union::Element::create();
-    unionElement->setType(name);
+    Union::Element::Ptr unionElement;
+    auto itr = std::find_if(m_backgroundElementList.begin(), 
m_backgroundElementList.end(), [name](const Union::Element::Ptr &element) {
+        return (element && element->type() == name);
+    });
+    if (itr == m_backgroundElementList.end()) {
+        unionElement = Union::Element::create();
+        unionElement->setType(name);
+    } else {
+        unionElement = *(itr);
+    }
+
     unionElement->setStates(elementStates());
     unionElement->setAttributes(elementAttributes());
     auto hints = elementHints();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.h 
new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.h
--- old/union-6.8.1/src/output/qtwidgets/elements/AbstractElement.h     
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/elements/AbstractElement.h     
2026-10-27 12:35:55.000000000 +0100
@@ -6,6 +6,7 @@
 #include "BackgroundDrawing.h"
 #include "StyleUtils.h"
 #include "qtwidgets_logging.h"
+#include <ElementQuery.h>
 #include <QIcon>
 #include <QObject>
 #include <QStyleOption>
@@ -262,6 +263,7 @@
     LayoutBucket createBucket(const QList<LayoutItem> &items, const BucketType 
&type, const QRectF &containerRect) const;
     QRectF resizeBucket(const LayoutBucket &bucket) const;
     void mapBucketItems(LayoutBucket &bucket, QMap<QString, LayoutItem> &map) 
const;
+    std::unique_ptr<Union::ElementQuery> m_elementQuery;
 };
 
 Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractElement::AbstractElementFlags);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.cpp 
new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.cpp
--- old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.cpp  
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.cpp  
2026-10-27 12:35:55.000000000 +0100
@@ -16,6 +16,13 @@
     : AbstractElement(option, style, widget)
     , m_indicatorOption(option)
 {
+    m_listViewIconSize = querySize({ElementString::ListViewIconSize}).width();
+    m_smallIconSize = querySize({ElementString::SmallIconSize}).width();
+    m_iconViewIconSize = querySize({ElementString::IconViewIconSize}).width();
+    m_largeIconSize = querySize({ElementString::LargeIconSize}).width();
+    m_messageBoxIconSize = 
querySize({ElementString::MessageBoxIconSize}).width();
+    m_textCursorWidth = querySize({ElementString::TextCursorWidth}).width();
+
     m_isValid = true;
 }
 
@@ -59,17 +66,17 @@
 {
     switch (pixelMetric) {
     case QStyle::PM_ListViewIconSize:
-        return querySize({ElementString::ListViewIconSize}).width();
+        return m_listViewIconSize;
     case QStyle::PM_SmallIconSize:
-        return querySize({ElementString::SmallIconSize}).width();
+        return m_smallIconSize;
     case QStyle::PM_IconViewIconSize:
-        return querySize({ElementString::IconViewIconSize}).width();
+        return m_iconViewIconSize;
     case QStyle::PM_LargeIconSize:
-        return querySize({ElementString::LargeIconSize}).width();
+        return m_largeIconSize;
     case QStyle::PM_MessageBoxIconSize:
-        return querySize({ElementString::MessageBoxIconSize}).width();
+        return m_messageBoxIconSize;
     case QStyle::PM_TextCursorWidth:
-        return querySize({ElementString::TextCursorWidth}).width();
+        return m_textCursorWidth;
     default:
         break;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.h 
new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.h
--- old/union-6.8.1/src/output/qtwidgets/elements/IndicatorElement.h    
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/elements/IndicatorElement.h    
2026-10-27 12:35:55.000000000 +0100
@@ -49,4 +49,10 @@
     const QStyleOption *m_indicatorOption = nullptr;
 
     void drawElement(QPainter *painter, const QString &defaultIconName, 
QStringList targetHierarchy) const;
+    int m_listViewIconSize = 0;
+    int m_smallIconSize = 0;
+    int m_iconViewIconSize = 0;
+    int m_largeIconSize = 0;
+    int m_messageBoxIconSize = 0;
+    int m_textCursorWidth = 0;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtwidgets/elements/TabElement.cpp 
new/union-6.8.2/src/output/qtwidgets/elements/TabElement.cpp
--- old/union-6.8.1/src/output/qtwidgets/elements/TabElement.cpp        
2026-10-20 11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/elements/TabElement.cpp        
2026-10-27 12:35:55.000000000 +0100
@@ -18,9 +18,13 @@
     , m_tabOption(option)
     , m_isVertical(false)
     , m_isStatic(false)
+    , m_hSpace(0)
+    , m_vSpace(0)
 {
     setFlag(AbstractElementFlag::ContentsSizeIncludesAveragePadding);
     update();
+    m_hSpace = hSpace();
+    m_vSpace = vSpace();
 }
 
 TabElement::~TabElement()
@@ -299,9 +303,9 @@
 {
     switch (pixelMetric) {
     case QStyle::PM_TabBarTabHSpace:
-        return hSpace();
+        return m_hSpace;
     case QStyle::PM_TabBarTabVSpace:
-        return vSpace();
+        return m_vSpace;
     default:
         break;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/union-6.8.1/src/output/qtwidgets/elements/TabElement.h 
new/union-6.8.2/src/output/qtwidgets/elements/TabElement.h
--- old/union-6.8.1/src/output/qtwidgets/elements/TabElement.h  2026-10-20 
11:13:08.000000000 +0200
+++ new/union-6.8.2/src/output/qtwidgets/elements/TabElement.h  2026-10-27 
12:35:55.000000000 +0100
@@ -55,6 +55,8 @@
     const QStyleOptionTab *m_tabOption = nullptr;
     bool m_isVertical;
     bool m_isStatic;
+    int m_hSpace;
+    int m_vSpace;
     int hSpace() const;
     int vSpace() const;
 };

Reply via email to