Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package polkit-qt-1 for openSUSE:Factory 
checked in at 2026-04-18 21:30:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit-qt-1 (Old)
 and      /work/SRC/openSUSE:Factory/.polkit-qt-1.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "polkit-qt-1"

Sat Apr 18 21:30:12 2026 rev:2 rq:1347672 version:0.201.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/polkit-qt-1/polkit-qt-1.changes  2024-03-11 
15:27:29.844212515 +0100
+++ /work/SRC/openSUSE:Factory/.polkit-qt-1.new.11940/polkit-qt-1.changes       
2026-04-18 21:30:24.030998236 +0200
@@ -1,0 +2,17 @@
+Fri Apr 17 07:29:05 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 0.201.1:
+  * defer Session destruction in KListener::completed
+  * Remove Data(const Data&amp; other), we don't need it
+  * Save roundtrip from subject to string to subject
+  * Mark Subject constructor as explicit
+  * Return {} instead of nullptr
+  * g_object_unref does not like being passed a nullptr
+  * Remove unnecessary g_object_unref call in 
+    enumerateTemporaryAuthorizationsSync function
+  * ListenerAdapter: uniquify the identities
+  * Build examples on CI
+  * Use undeprecated install dir variable
+  * Fix examples build for Qt 6.8.1
+
+-------------------------------------------------------------------

Old:
----
  polkit-qt-1-0.200.0.tar.xz
  polkit-qt-1-0.200.0.tar.xz.sig

New:
----
  polkit-qt-1-0.201.1.tar.xz
  polkit-qt-1-0.201.1.tar.xz.sig

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

Other differences:
------------------
++++++ polkit-qt-1.spec ++++++
--- /var/tmp/diff_new_pack.lYaN7j/_old  2026-04-18 21:30:24.851031123 +0200
+++ /var/tmp/diff_new_pack.lYaN7j/_new  2026-04-18 21:30:24.851031123 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package polkit-qt-1
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -35,7 +35,7 @@
 %bcond_without released
 %define rname polkit-qt-1
 Name:           polkit%{pkg_suffix}-1
-Version:        0.200.0
+Version:        0.201.1
 Release:        0
 Summary:        PolicyKit Library Qt Bindings
 License:        LGPL-2.1-or-later

++++++ polkit-qt-1-0.200.0.tar.xz -> polkit-qt-1-0.201.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/.gitignore 
new/polkit-qt-1-0.201.1/.gitignore
--- old/polkit-qt-1-0.200.0/.gitignore  2024-02-21 13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/.gitignore  2026-04-10 16:41:51.000000000 +0200
@@ -26,3 +26,4 @@
 .clangd
 .cache
 .idea
+.vscode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/.gitlab-ci.yml 
new/polkit-qt-1-0.201.1/.gitlab-ci.yml
--- old/polkit-qt-1-0.200.0/.gitlab-ci.yml      2024-02-21 13:51:14.000000000 
+0100
+++ new/polkit-qt-1-0.201.1/.gitlab-ci.yml      2026-04-10 16:41:51.000000000 
+0200
@@ -5,7 +5,6 @@
   - project: sysadmin/ci-utilities
     file:
       - /gitlab-templates/linux-qt6.yml
+      - /gitlab-templates/linux-qt6-next.yml
       - /gitlab-templates/linux.yml
-      - /gitlab-templates/linux-static.yml
-      - /gitlab-templates/freebsd.yml
       - /gitlab-templates/freebsd-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/.kde-ci.yml 
new/polkit-qt-1-0.201.1/.kde-ci.yml
--- old/polkit-qt-1-0.200.0/.kde-ci.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/polkit-qt-1-0.201.1/.kde-ci.yml 2026-04-10 16:41:51.000000000 +0200
@@ -0,0 +1,2 @@
+Options:
+  cmake-options: '-DBUILD_EXAMPLES=ON'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/CMakeLists.txt 
new/polkit-qt-1-0.201.1/CMakeLists.txt
--- old/polkit-qt-1-0.200.0/CMakeLists.txt      2024-02-21 13:51:14.000000000 
+0100
+++ new/polkit-qt-1-0.201.1/CMakeLists.txt      2026-04-10 16:41:51.000000000 
+0200
@@ -66,8 +66,8 @@
 option(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR "Prefer to install the 
<package>Config.cmake files to lib/cmake/<package> instead of 
lib/<package>/cmake" TRUE)
 
 set(POLKITQT-1_VERSION_MAJOR "0")
-set(POLKITQT-1_VERSION_MINOR "200")
-set(POLKITQT-1_VERSION_PATCH "0")
+set(POLKITQT-1_VERSION_MINOR "201")
+set(POLKITQT-1_VERSION_PATCH "1")
 set(POLKITQT-1_VERSION_STRING
     
"${POLKITQT-1_VERSION_MAJOR}.${POLKITQT-1_VERSION_MINOR}.${POLKITQT-1_VERSION_PATCH}")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/agent/listeneradapter.cpp 
new/polkit-qt-1-0.201.1/agent/listeneradapter.cpp
--- old/polkit-qt-1-0.200.0/agent/listeneradapter.cpp   2024-02-21 
13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/agent/listeneradapter.cpp   2026-04-10 
16:41:51.000000000 +0200
@@ -71,13 +71,17 @@
 {
     qDebug() << "polkit_qt_listener_initiate_authentication callback for " << 
listener;
 
-    PolkitQt1::Identity::List idents;
     PolkitQt1::Details dets(details);
 
     Listener *list = findListener(listener);
 
-    for (GList *identity = g_list_first(identities); identity != nullptr; 
identity = g_list_next(identity)) {
-         idents.append(PolkitQt1::Identity((PolkitIdentity *)identity->data));
+    // Polkit enumerates identities without regard for their hash value, 
potentially leading to duplicated entries.
+    // Unique the identities on our end.
+    // https://github.com/polkit-org/polkit/issues/542
+    QHash<guint, PolkitQt1::Identity> uniqueIdentities;
+    for (GList *entry = g_list_first(identities); entry != nullptr; entry = 
g_list_next(entry)) {
+        auto identity = static_cast<PolkitIdentity *>(entry->data);
+        uniqueIdentities.insert(polkit_identity_hash(identity), 
PolkitQt1::Identity(identity));
     }
 
     list->initiateAuthentication(QString::fromUtf8(action_id),
@@ -85,7 +89,7 @@
                                  QString::fromUtf8(icon_name),
                                  dets,
                                  QString::fromUtf8(cookie),
-                                 idents,
+                                 uniqueIdentities.values(),
                                  new AsyncResult(result));
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/core/polkitqt1-authority.cpp 
new/polkit-qt-1-0.201.1/core/polkitqt1-authority.cpp
--- old/polkit-qt-1-0.200.0/core/polkitqt1-authority.cpp        2024-02-21 
13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/core/polkitqt1-authority.cpp        2026-04-10 
16:41:51.000000000 +0200
@@ -736,7 +736,6 @@
     GList *glist2;
     for (glist2 = glist; glist2 != nullptr; glist2 = g_list_next(glist2)) {
         result.append(TemporaryAuthorization((PolkitTemporaryAuthorization *) 
glist2->data));
-        g_object_unref(glist2->data);
     }
 
     g_list_free(glist);
@@ -764,7 +763,6 @@
     GList *glist2;
     for (glist2 = glist; glist2 != nullptr; glist2 = g_list_next(glist2)) {
         res.append(TemporaryAuthorization((PolkitTemporaryAuthorization *) 
glist2->data));
-        g_object_unref(glist2->data);
     }
 
     g_list_free(glist);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/core/polkitqt1-subject.cpp 
new/polkit-qt-1-0.201.1/core/polkitqt1-subject.cpp
--- old/polkit-qt-1-0.200.0/core/polkitqt1-subject.cpp  2024-02-21 
13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/core/polkitqt1-subject.cpp  2026-04-10 
16:41:51.000000000 +0200
@@ -22,15 +22,12 @@
         : QSharedData()
         , subject(nullptr)
     {}
-    Data(const Data& other)
-        : QSharedData(other)
-        , subject(other.subject)
-    {
-        g_object_ref(subject);
-    }
+    Data(const Data& other) = delete;
     ~Data()
     {
-        g_object_unref(subject);
+        if (subject) {
+            g_object_unref(subject);
+        }
     }
 
     PolkitSubject *subject;
@@ -98,11 +95,16 @@
     subject.d->subject = polkit_subject_from_string(string.toUtf8().data(), 
&error);
     if (error != nullptr) {
         qWarning() << QString("Cannot create Subject from string: 
%1").arg(error->message);
-        return nullptr;
+        return {};
     }
     return subject;
 }
 
+Subject Subject::fromSubject(PolkitSubject *subject)
+{
+    return Subject{subject};
+}
+
 UnixProcessSubject::UnixProcessSubject(qint64 pid)
         : Subject()
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/core/polkitqt1-subject.h 
new/polkit-qt-1-0.201.1/core/polkitqt1-subject.h
--- old/polkit-qt-1-0.200.0/core/polkitqt1-subject.h    2024-02-21 
13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/core/polkitqt1-subject.h    2026-04-10 
16:41:51.000000000 +0200
@@ -69,6 +69,15 @@
     static Subject fromString(const QString &string);
 
     /**
+     * Creates the Subject object
+     *
+     * \param subject string reprezentation of the object
+     *
+     * \return A new Subject instance
+     */
+    static Subject fromSubject(PolkitSubject *subject);
+
+    /**
      * Gets PolkitSubject object.
      *
      * \warning It shouldn't be used directly unless you are completely aware 
of what are you doing
@@ -78,7 +87,7 @@
     PolkitSubject *subject() const;
 
 protected:
-    Subject(PolkitSubject *subject);
+    explicit Subject(PolkitSubject *subject);
 
     void setSubject(PolkitSubject *subject);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/polkit-qt-1-0.200.0/core/polkitqt1-temporaryauthorization.cpp 
new/polkit-qt-1-0.201.1/core/polkitqt1-temporaryauthorization.cpp
--- old/polkit-qt-1-0.200.0/core/polkitqt1-temporaryauthorization.cpp   
2024-02-21 13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/core/polkitqt1-temporaryauthorization.cpp   
2026-04-10 16:41:51.000000000 +0200
@@ -40,7 +40,7 @@
 {
     d->id = 
QString::fromUtf8(polkit_temporary_authorization_get_id(pkTemporaryAuthorization));
     d->actionId = 
QString::fromUtf8(polkit_temporary_authorization_get_action_id(pkTemporaryAuthorization));
-    d->subject = 
Subject::fromString(polkit_subject_to_string(polkit_temporary_authorization_get_subject(pkTemporaryAuthorization)));
+    d->subject = 
Subject::fromSubject(polkit_temporary_authorization_get_subject(pkTemporaryAuthorization));
     d->timeObtained = 
QDateTime::fromSecsSinceEpoch(polkit_temporary_authorization_get_time_obtained(pkTemporaryAuthorization));
     d->timeExpires = 
QDateTime::fromSecsSinceEpoch(polkit_temporary_authorization_get_time_expires(pkTemporaryAuthorization));
     g_object_unref(pkTemporaryAuthorization);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/examples/CMakeLists.txt 
new/polkit-qt-1-0.201.1/examples/CMakeLists.txt
--- old/polkit-qt-1-0.200.0/examples/CMakeLists.txt     2024-02-21 
13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/examples/CMakeLists.txt     2026-04-10 
16:41:51.000000000 +0200
@@ -58,6 +58,6 @@
 
 dbus_add_activation_system_service(org.qt.policykit.examples.service.in)
 
-install(FILES org.qt.policykit.examples.conf DESTINATION 
${SYSCONF_INSTALL_DIR}/dbus-1/system.d)
+install(FILES org.qt.policykit.examples.conf DESTINATION 
${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d)
 
 add_subdirectory(agent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/polkit-qt-1-0.200.0/examples/agent/klistener.cpp 
new/polkit-qt-1-0.201.1/examples/agent/klistener.cpp
--- old/polkit-qt-1-0.200.0/examples/agent/klistener.cpp        2024-02-21 
13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/examples/agent/klistener.cpp        2026-04-10 
16:41:51.000000000 +0200
@@ -72,8 +72,9 @@
     Session *session = (Session *)sender();
 
     session->result()->setCompleted();
-
-    delete session;
+    // This slot is invoked from the Session::completed signal (emitted in 
Session::Private::completed).
+    // Use deleteLater() to defer Session destruction; synchronous delete 
inside the signal callback would be unsafe.
+    session->deleteLater();
 }
 
 void KListener::showError(const QString &text)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/polkit-qt-1-0.200.0/examples/org.qt.policykit.examples.xml 
new/polkit-qt-1-0.201.1/examples/org.qt.policykit.examples.xml
--- old/polkit-qt-1-0.200.0/examples/org.qt.policykit.examples.xml      
2024-02-21 13:51:14.000000000 +0100
+++ new/polkit-qt-1-0.201.1/examples/org.qt.policykit.examples.xml      
2026-04-10 16:41:51.000000000 +0200
@@ -5,7 +5,7 @@
            <!-- IN: system user -->
            <arg direction="in" type="s" name="user" />
            <!-- OUT: whether the user gained the authorization -->
-           <arg direction="out" type="b" name="shadow_line">
+           <arg direction="out" type="b" name="shadow_line" />
        </method>
    </interface>
 </node>

Reply via email to