Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package plasma5-integration for openSUSE:Factory checked in at 2022-10-11 18:01:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma5-integration (Old) and /work/SRC/openSUSE:Factory/.plasma5-integration.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma5-integration" Tue Oct 11 18:01:09 2022 rev:121 rq:1009123 version:5.26.0 Changes: -------- --- /work/SRC/openSUSE:Factory/plasma5-integration/plasma5-integration.changes 2022-09-08 14:21:11.438315510 +0200 +++ /work/SRC/openSUSE:Factory/.plasma5-integration.new.2275/plasma5-integration.changes 2022-10-11 18:03:34.561893363 +0200 @@ -1,0 +2,28 @@ +Thu Oct 6 14:48:45 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de> + +- Update to 5.26.0 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/plasma/5/5.26.0 +- Changes since 5.25.90: + * Fix QtQuickRenderSettings from loading (kde#455575) + +------------------------------------------------------------------- +Thu Sep 15 20:47:25 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de> + +- Update to 5.25.90 + * New feature release + * For more details please see: + * https://kde.org/announcements/plasma/5/5.25.90 +- Changes since 5.25.5: + * Bring back workaround for threaded render loop not working on NVIDIA Wayland + * Add missing license file + * refresh git-blame-ignore-revs for latest clang-format run + * automatic clang-format run (clang 14) + * KMessageBox::sorry is deprecated in kf5.97 + * port sandbox detection to ksandbox + * QDbusMenuBar: properly handle app-wide menubars + * Init empty cmake variable (--warning) + * Fix building against Qt6 + +------------------------------------------------------------------- Old: ---- plasma-integration-5.25.5.tar.xz plasma-integration-5.25.5.tar.xz.sig New: ---- plasma-integration-5.26.0.tar.xz plasma-integration-5.26.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma5-integration.spec ++++++ --- /var/tmp/diff_new_pack.KPSQRt/_old 2022-10-11 18:03:35.489894863 +0200 +++ /var/tmp/diff_new_pack.KPSQRt/_new 2022-10-11 18:03:35.493894870 +0200 @@ -18,7 +18,7 @@ %bcond_without released Name: plasma5-integration -Version: 5.25.5 +Version: 5.26.0 Release: 0 # Full Plasma 5 version (e.g. 5.8.95) %{!?_plasma5_bugfix: %define _plasma5_bugfix %{version}} @@ -28,31 +28,31 @@ License: GPL-2.0+ Group: System/GUI/KDE Url: http://www.kde.org -Source: https://download.kde.org/stable/plasma/%{version}/plasma-integration-%{version}.tar.xz +Source: plasma-integration-%{version}.tar.xz %if %{with released} -Source1: https://download.kde.org/stable/plasma/%{version}/plasma-integration-%{version}.tar.xz.sig +Source1: plasma-integration-%{version}.tar.xz.sig Source2: plasma.keyring %endif -BuildRequires: extra-cmake-modules >= 5.17.0 +BuildRequires: extra-cmake-modules >= 5.98.0 BuildRequires: kf5-filesystem -BuildRequires: libQt5Gui-private-headers-devel >= 5.5.0 +BuildRequires: libQt5Gui-private-headers-devel >= 5.15.0 BuildRequires: libQt5QuickControls2-devel +BuildRequires: libQt5PlatformSupport-private-headers-devel BuildRequires: cmake(Breeze) >= %{_plasma5_version} -BuildRequires: cmake(KF5Config) >= 5.17.0 -BuildRequires: cmake(KF5ConfigWidgets) >= 5.17.0 -BuildRequires: cmake(KF5I18n) >= 5.17.0 -BuildRequires: cmake(KF5IconThemes) >= 5.17.0 -BuildRequires: cmake(KF5KIO) >= 5.17.0 -BuildRequires: cmake(KF5Notifications) >= 5.17.0 -BuildRequires: cmake(KF5Wayland) >= 5.5.0 -BuildRequires: cmake(KF5WidgetsAddons) >= 5.17.0 -BuildRequires: cmake(KF5WindowSystem) >= 5.17.0 +BuildRequires: cmake(KF5Config) >= 5.98.0 +BuildRequires: cmake(KF5ConfigWidgets) +BuildRequires: cmake(KF5I18n) +BuildRequires: cmake(KF5IconThemes) +BuildRequires: cmake(KF5KIO) +BuildRequires: cmake(KF5Notifications) +BuildRequires: cmake(KF5Wayland) +BuildRequires: cmake(KF5WidgetsAddons) +BuildRequires: cmake(KF5WindowSystem) BuildRequires: cmake(PlasmaWaylandProtocols) -BuildRequires: cmake(Qt5DBus) >= 5.5.0 +BuildRequires: cmake(Qt5DBus) >= 5.15.0 BuildRequires: cmake(Qt5WaylandClient) -BuildRequires: cmake(Qt5Widgets) >= 5.5.0 -BuildRequires: cmake(Qt5X11Extras) >= 5.5.0 -BuildRequires: libQt5PlatformSupport-private-headers-devel >= 5.5.0 +BuildRequires: cmake(Qt5Widgets) +BuildRequires: cmake(Qt5X11Extras) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcursor) ++++++ plasma-integration-5.25.5.tar.xz -> plasma-integration-5.26.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/.git-blame-ignore-revs new/plasma-integration-5.26.0/.git-blame-ignore-revs --- old/plasma-integration-5.25.5/.git-blame-ignore-revs 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/.git-blame-ignore-revs 2022-10-06 14:31:48.000000000 +0200 @@ -1 +1,2 @@ 7643aaf2132f5b6354d3ee8abaa51c348bffd9df +f0700184de4a5a9d7aa8dc9197f376af28c361de diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/CMakeLists.txt new/plasma-integration-5.26.0/CMakeLists.txt --- old/plasma-integration-5.25.5/CMakeLists.txt 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/CMakeLists.txt 2022-10-06 14:31:48.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) project(PlasmaIntegration) -set(PROJECT_VERSION "5.25.5") +set(PROJECT_VERSION "5.26.0") set(PROJECT_VERSION_MAJOR 5) set(QT_MIN_VERSION "5.15.2") -set(KF5_MIN_VERSION "5.94") +set(KF5_MIN_VERSION "5.98.0") set(KDE_COMPILERSETTINGS_LEVEL "5.82") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) @@ -53,6 +53,8 @@ if (QT_MAJOR_VERSION EQUAL "5") find_package(Qt5ThemeSupport REQUIRED) set(QT5PLATFORMSUPPORT_LIBS Qt5ThemeSupport::Qt5ThemeSupport) +else() + set(QT5PLATFORMSUPPORT_LIBS) endif() add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f02) add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055B00) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/LICENSES/CC0-1.0.txt new/plasma-integration-5.26.0/LICENSES/CC0-1.0.txt --- old/plasma-integration-5.25.5/LICENSES/CC0-1.0.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/plasma-integration-5.26.0/LICENSES/CC0-1.0.txt 2022-10-06 14:31:48.000000000 +0200 @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/autotests/CMakeLists.txt new/plasma-integration-5.26.0/autotests/CMakeLists.txt --- old/plasma-integration-5.25.5/autotests/CMakeLists.txt 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/autotests/CMakeLists.txt 2022-10-06 14:31:48.000000000 +0200 @@ -28,24 +28,37 @@ ecm_mark_as_test(${_testname}) ecm_mark_nongui_executable(${_testname}) target_include_directories(${_testname} PRIVATE ${CMAKE_BINARY_DIR}/src/platformtheme) - target_link_libraries(${_testname} Qt::GuiPrivate Qt::Test Qt::DBus Qt::X11Extras Qt::QuickControls2 ${QT5PLATFORMSUPPORT_LIBS} KF5::ConfigWidgets KF5::ConfigCore KF5::IconThemes KF5::KIOFileWidgets KF5::I18n KF5::Notifications KF5::WindowSystem Qt::WaylandClient XCB::XCB Wayland::Client) + target_link_libraries(${_testname} Qt::GuiPrivate Qt::Test Qt::DBus Qt::QuickControls2 ${QT5PLATFORMSUPPORT_LIBS} KF5::ConfigWidgets KF5::ConfigCore KF5::IconThemes KF5::KIOFileWidgets KF5::I18n KF5::Notifications KF5::WindowSystem Qt::WaylandClient XCB::XCB Wayland::Client) + if (QT_MAJOR_VERSION EQUAL "5") + target_link_libraries(${_testname} Qt5::X11Extras) + endif() endmacro() set(dbus_interface) qt_add_dbus_interface(dbus_interface ../src/platformtheme/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher_interface) -set(wayland_interfaces) -ecm_add_qtwayland_client_protocol(wayland_interfaces - PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/appmenu.xml - BASENAME appmenu -) - -ecm_add_qtwayland_client_protocol(wayland_interfaces - PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/server-decoration-palette.xml - BASENAME server-decoration-palette +frameworkintegration_tests( + kdeplatformtheme_unittest ) +set(wayland_interfaces) +if (QT_MAJOR_VERSION EQUAL "5") + ecm_add_qtwayland_client_protocol(wayland_interfaces + PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/appmenu.xml + BASENAME appmenu + ) + + ecm_add_qtwayland_client_protocol(wayland_interfaces + PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/server-decoration-palette.xml + BASENAME server-decoration-palette + ) +else() + qt6_generate_wayland_protocol_client_sources(kdeplatformtheme_unittest FILES + ${PLASMA_WAYLAND_PROTOCOLS_DIR}/appmenu.xml + ${PLASMA_WAYLAND_PROTOCOLS_DIR}/server-decoration-palette.xml + ) +endif() -set(platformThemeSRCS +target_sources(kdeplatformtheme_unittest PRIVATE ../src/platformtheme/qdbusmenubar.cpp # fork of Qt's qdbusmenubar with some added setters for our convenience ../src/platformtheme/kdeplatformtheme.cpp ../src/platformtheme/kfontsettingsdata.cpp @@ -63,11 +76,6 @@ ) frameworkintegration_tests( - kdeplatformtheme_unittest - ${platformThemeSRCS} -) - -frameworkintegration_tests( kfontsettingsdata_unittest ../src/platformtheme/kfontsettingsdata.cpp ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/po/ka/plasmaintegration5.po new/plasma-integration-5.26.0/po/ka/plasmaintegration5.po --- old/plasma-integration-5.25.5/po/ka/plasmaintegration5.po 2022-09-06 14:31:37.000000000 +0200 +++ new/plasma-integration-5.26.0/po/ka/plasmaintegration5.po 2022-10-06 14:32:02.000000000 +0200 @@ -15,7 +15,7 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" #: platformtheme/kdeplatformfiledialoghelper.cpp:283 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/po/zh_CN/plasmaintegration5.po new/plasma-integration-5.26.0/po/zh_CN/plasmaintegration5.po --- old/plasma-integration-5.25.5/po/zh_CN/plasmaintegration5.po 2022-09-06 14:31:46.000000000 +0200 +++ new/plasma-integration-5.26.0/po/zh_CN/plasmaintegration5.po 2022-10-06 14:32:16.000000000 +0200 @@ -3,7 +3,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2022-05-06 00:47+0000\n" -"PO-Revision-Date: 2022-08-20 14:20\n" +"PO-Revision-Date: 2022-10-02 15:52\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/src/platformtheme/kdeplatformtheme.cpp new/plasma-integration-5.26.0/src/platformtheme/kdeplatformtheme.cpp --- old/plasma-integration-5.25.5/src/platformtheme/kdeplatformtheme.cpp 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/src/platformtheme/kdeplatformtheme.cpp 2022-10-06 14:31:48.000000000 +0200 @@ -386,7 +386,7 @@ return usePortal; } -inline bool windowRelevantForGlobalMenu(QWindow* window) +inline bool windowRelevantForGlobalMenu(QWindow *window) { return !(window->type() & Qt::WindowType::Popup); } @@ -432,7 +432,7 @@ } } -void KdePlatformTheme::setMenuBarForWindow(QWindow* window, const QString& serviceName, const QString& objectPath) const +void KdePlatformTheme::setMenuBarForWindow(QWindow *window, const QString &serviceName, const QString &objectPath) const { if (!window) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/src/platformtheme/kdeplatformtheme.h new/plasma-integration-5.26.0/src/platformtheme/kdeplatformtheme.h --- old/plasma-integration-5.25.5/src/platformtheme/kdeplatformtheme.h 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/src/platformtheme/kdeplatformtheme.h 2022-10-06 14:31:48.000000000 +0200 @@ -47,7 +47,7 @@ void windowCreated(QWindow *window); private: - void setMenuBarForWindow(QWindow* window, const QString& serviceName, const QString& objectPath) const; + void setMenuBarForWindow(QWindow *window, const QString &serviceName, const QString &objectPath) const; void loadSettings(); void setQtQuickControlsTheme(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/src/platformtheme/kdirselectdialog.cpp new/plasma-integration-5.26.0/src/platformtheme/kdirselectdialog.cpp --- old/plasma-integration-5.25.5/src/platformtheme/kdirselectdialog.cpp 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/src/platformtheme/kdirselectdialog.cpp 2022-10-06 14:31:48.000000000 +0200 @@ -155,7 +155,7 @@ if (exists) { // url was already existent QString which = folderurl.toDisplayString(QUrl::PreferLocalFile); - KMessageBox::sorry(m_parent, i18n("A file or folder named %1 already exists.", which)); + KMessageBox::error(m_parent, i18n("A file or folder named %1 already exists.", which)); // Select the existing dir (if a file with that name exists, it won't be selected since // we only show dirs here, this is cheaper than checking if the existing item is a file // or folder). @@ -164,7 +164,7 @@ } if (!writeOk) { - KMessageBox::sorry(m_parent, i18n("You do not have permission to create that folder.")); + KMessageBox::error(m_parent, i18n("You do not have permission to create that folder.")); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/src/platformtheme/kfontsettingsdata.cpp new/plasma-integration-5.26.0/src/platformtheme/kfontsettingsdata.cpp --- old/plasma-integration-5.25.5/src/platformtheme/kfontsettingsdata.cpp 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/src/platformtheme/kfontsettingsdata.cpp 2022-10-06 14:31:48.000000000 +0200 @@ -2,6 +2,7 @@ SPDX-FileCopyrightText: 2000, 2006 David Faure <fa...@kde.org> SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kosse...@kde.org> SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez <aleix...@blue-systems.com> + SPDX-FileCopyrightText: 2022 Harald Sitter <sit...@kde.org> SPDX-License-Identifier: LGPL-2.0-only */ @@ -16,16 +17,12 @@ #include <QVariant> #include <qpa/qwindowsysteminterface.h> +#include <KSandbox> #include <kconfiggroup.h> -static inline bool checkUsePortalSupport() -{ - return !QStandardPaths::locate(QStandardPaths::RuntimeLocation, QStringLiteral("flatpak-info")).isEmpty() || qEnvironmentVariableIsSet("SNAP"); -} - KFontSettingsData::KFontSettingsData() : QObject(nullptr) - , mUsePortal(checkUsePortalSupport()) + , mUsePortal(KSandbox::isInside()) , mKdeGlobals(KSharedConfig::openConfig()) { QMetaObject::invokeMethod(this, "delayedDBusConnects", Qt::QueuedConnection); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/src/platformtheme/khintssettings.cpp new/plasma-integration-5.26.0/src/platformtheme/khintssettings.cpp --- old/plasma-integration-5.25.5/src/platformtheme/khintssettings.cpp 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/src/platformtheme/khintssettings.cpp 2022-10-06 14:31:48.000000000 +0200 @@ -2,6 +2,7 @@ SPDX-FileCopyrightText: 2013 Kevin Ottens <ervin+bluesyst...@kde.org> SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez <aleix...@blue-systems.com> SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares <afies...@kde.org> + SPDX-FileCopyrightText: 2022 Harald Sitter <sit...@kde.org> SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ @@ -27,6 +28,7 @@ #include <QDBusConnection> #include <QDBusInterface> +#include <KSandbox> #include <kcolorscheme.h> #include <kconfiggroup.h> #include <kiconloader.h> @@ -65,15 +67,10 @@ return argument; } -static inline bool checkUsePortalSupport() -{ - return !QStandardPaths::locate(QStandardPaths::RuntimeLocation, QStringLiteral("flatpak-info")).isEmpty() || qEnvironmentVariableIsSet("SNAP"); -} - KHintsSettings::KHintsSettings(const KSharedConfig::Ptr &kdeglobals) : QObject(nullptr) , mKdeGlobals(kdeglobals) - , mUsePortal(checkUsePortalSupport()) + , mUsePortal(KSandbox::isInside()) { if (!mKdeGlobals) { mKdeGlobals = KSharedConfig::openConfig(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-integration-5.25.5/src/platformtheme/qtquickrenderersettings.cpp new/plasma-integration-5.26.0/src/platformtheme/qtquickrenderersettings.cpp --- old/plasma-integration-5.25.5/src/platformtheme/qtquickrenderersettings.cpp 2022-09-06 14:31:28.000000000 +0200 +++ new/plasma-integration-5.26.0/src/platformtheme/qtquickrenderersettings.cpp 2022-10-06 14:31:48.000000000 +0200 @@ -51,11 +51,24 @@ void initializeRendererSessions() { - static bool firstCall = true; // Otherwise this gets called twice, see QTBUG-54479 + // This is loaded via Q_COREAPP_STARTUP_FUNCTION + + // Due to a quirk this gets called twice, see QTBUG-54479 + + // The order of events is: + // Q*Application constructor starts + // We load the QPA + // We load the QPT (The first arguably incorrect invocation triggers) + // QPA gets initalised + // QCoreApplication constructor ends + // Second (correct) invocation + // it's important that we run after the QPA is initalised' + + static bool firstCall = true; if (firstCall) { + firstCall = false; return; } - firstCall = false; PlasmaQtQuickSettings::RendererSettings s; QOpenGLContext checkContext; @@ -69,6 +82,19 @@ if (!qEnvironmentVariableIsSet("QSG_RENDER_LOOP")) { if (!s.renderLoop().isEmpty()) { qputenv("QSG_RENDER_LOOP", s.renderLoop().toLatin1()); + } else if (QGuiApplication::platformName() == QLatin1String("wayland")) { +#if QT_CONFIG(opengl) + // Workaround for Bug 432062 / QTBUG-95817 + QOffscreenSurface surface; + surface.create(); + if (checkContext.makeCurrent(&surface)) { + const char *vendor = reinterpret_cast<const char *>(checkContext.functions()->glGetString(GL_VENDOR)); + if (qstrcmp(vendor, "NVIDIA Corporation") == 0) { + // Otherwise Qt Quick Windows break when resized + qputenv("QSG_RENDER_LOOP", "basic"); + } + } +#endif } } }