Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lskat for openSUSE:Factory checked in at 2023-11-10 12:32:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lskat (Old) and /work/SRC/openSUSE:Factory/.lskat.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lskat" Fri Nov 10 12:32:45 2023 rev:138 rq:1124666 version:23.08.3 Changes: -------- --- /work/SRC/openSUSE:Factory/lskat/lskat.changes 2023-10-12 23:46:50.203166715 +0200 +++ /work/SRC/openSUSE:Factory/.lskat.new.17445/lskat.changes 2023-11-10 12:36:26.075398170 +0100 @@ -1,0 +2,12 @@ +Tue Nov 7 17:05:31 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 23.08.3 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/gear/23.08.3/ +- Changes since 23.08.2: + * snapcraft: Set version as appstream picks up non release service version. + * snapcraft: initial import snapcraft files. + * Render pixmaps HiDpi-aware + +------------------------------------------------------------------- Old: ---- lskat-23.08.2.tar.xz lskat-23.08.2.tar.xz.sig New: ---- lskat-23.08.3.tar.xz lskat-23.08.3.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lskat.spec ++++++ --- /var/tmp/diff_new_pack.nzRghQ/_old 2023-11-10 12:36:26.695421118 +0100 +++ /var/tmp/diff_new_pack.nzRghQ/_new 2023-11-10 12:36:26.695421118 +0100 @@ -18,7 +18,7 @@ %bcond_without released Name: lskat -Version: 23.08.2 +Version: 23.08.3 Release: 0 Summary: German Skat game License: GPL-2.0-or-later ++++++ lskat-23.08.2.tar.xz -> lskat-23.08.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/CMakeLists.txt new/lskat-23.08.3/CMakeLists.txt --- old/lskat-23.08.2/CMakeLists.txt 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/CMakeLists.txt 2023-11-04 12:15:26.000000000 +0100 @@ -3,7 +3,7 @@ # Release Service version, managed by release script set (RELEASE_SERVICE_VERSION_MAJOR "23") set (RELEASE_SERVICE_VERSION_MINOR "08") -set (RELEASE_SERVICE_VERSION_MICRO "2") +set (RELEASE_SERVICE_VERSION_MICRO "3") set (RELEASE_SERVICE_COMPACT_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}${RELEASE_SERVICE_VERSION_MINOR}${RELEASE_SERVICE_VERSION_MICRO}") # Bump LSKAT_BASE_VERSION once new features are added diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/org.kde.lskat.appdata.xml new/lskat-23.08.3/org.kde.lskat.appdata.xml --- old/lskat-23.08.2/org.kde.lskat.appdata.xml 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/org.kde.lskat.appdata.xml 2023-11-04 12:15:26.000000000 +0100 @@ -130,9 +130,9 @@ <binary>lskat</binary> </provides> <releases> + <release version="1.50.23083" date="2023-11-09"/> <release version="1.50.23082" date="2023-10-12"/> <release version="1.50.23081" date="2023-09-14"/> <release version="1.50.23080" date="2023-08-24"/> - <release version="1.50.23043" date="2023-07-06"/> </releases> </component> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/po/cs/lskat.po new/lskat-23.08.3/po/cs/lskat.po --- old/lskat-23.08.2/po/cs/lskat.po 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/po/cs/lskat.po 2023-11-04 12:15:26.000000000 +0100 @@ -1,6 +1,6 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# VÃt PelÄák <v...@pelcak.org>, 2010, 2012, 2017. +# SPDX-FileCopyrightText: 2010, 2012, 2017, 2023 VÃt PelÄák <v...@pelcak.org> # Tomáš Chvátal <tomas.chva...@gmail.com>, 2012. # msgid "" @@ -16,7 +16,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Lokalize 2.0\n" +"X-Generator: Lokalize 23.08.1\n" #, kde-format msgctxt "NAME OF TRANSLATORS" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/po/zh_CN/lskat.po new/lskat-23.08.3/po/zh_CN/lskat.po --- old/lskat-23.08.2/po/zh_CN/lskat.po 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/po/zh_CN/lskat.po 2023-11-04 12:15:26.000000000 +0100 @@ -3,7 +3,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2023-04-17 00:45+0000\n" -"PO-Revision-Date: 2023-09-16 10:12\n" +"PO-Revision-Date: 2023-10-21 13:58\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/snapcraft.yaml new/lskat-23.08.3/snapcraft.yaml --- old/lskat-23.08.2/snapcraft.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/lskat-23.08.3/snapcraft.yaml 2023-11-04 12:15:26.000000000 +0100 @@ -0,0 +1,136 @@ +# SPDX-FileCopyrightText: 2023 Scarlett Moore <sgmo...@kde.org> +# +# SPDX-License-Identifier: CC0-1.0 +--- +name: lskat +confinement: strict +grade: stable +base: core22 +adopt-info: lskat +version: '23.08.2' +apps: + lskat: + # extensions: + # - kde-neon + common-id: org.kde.lskat.desktop + desktop: usr/share/applications/org.kde.lskat.desktop + command: usr/bin/lskat + plugs: + - desktop + - desktop-legacy + - opengl + - wayland + - x11 + - audio-playback + - unity7 + - network + - network-bind + command-chain: + - snap/command-chain/desktop-launch +assumes: +- snapd2.58.3 +compression: lzo +plugs: + desktop: + mount-host-font-cache: false + icon-themes: + interface: content + target: $SNAP/data-dir/icons + default-provider: gtk-common-themes + sound-themes: + interface: content + target: $SNAP/data-dir/sounds + default-provider: gtk-common-themes + kf5-5-110-qt-5-15-11-core22: + content: kf5-5-110-qt-5-15-11-core22-all + interface: content + default-provider: kf5-5-110-qt-5-15-11-core22 + target: $SNAP/kf5 +environment: + SNAP_DESKTOP_RUNTIME: $SNAP/kf5 +hooks: + configure: + plugs: + - desktop + command-chain: + - snap/command-chain/hooks-configure-desktop +layout: + /usr/share/X11: + symlink: $SNAP/kf5/usr/share/X11 +slots: + session-dbus-interface: + interface: dbus + name: org.kde.lskat + bus: session +package-repositories: +- type: apt + components: + - main + suites: + - jammy + key-id: 444DABCF3667D0283F894EDDE6D4736255751E5D + url: https://origin.archive.neon.kde.org/user + key-server: keyserver.ubuntu.com +parts: + kde-neon: + source: /snap/snapcraft/current/share/snapcraft/extensions/desktop/kde-neon + source-type: local + plugin: make + make-parameters: + - PLATFORM_PLUG=kf5-5-110-qt-5-15-11-core22 + build-snaps: + - kf5-5-110-qt-5-15-11-core22-sdk + build-environment: + - &id001 + PATH: /snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/bin${PATH:+:$PATH} + - &id002 + XDG_DATA_DIRS: $CRAFT_STAGE/usr/share:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS} + - &id003 + XDG_CONFIG_HOME: $CRAFT_STAGE/etc/xdg:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/etc/xdg:/etc/xdg${XDG_CONFIG_HOME:+:$XDG_CONFIG_HOME} + - &id004 + CRAFT_CMAKE_ARGS: -DCMAKE_FIND_ROOT_PATH=/snap/kf5-5-110-qt-5-15-11-core22-sdk/current${CRAFT_CMAKE_ARGS:+:$CRAFT_CMAKE_ARGS} + lskat: + after: + - kde-neon + parse-info: + - usr/share/metainfo/org.kde.lskat.appdata.xml + plugin: cmake + build-packages: + - libkf5doctools-dev + source: . + source-type: local + cmake-parameters: + - "-DCMAKE_INSTALL_PREFIX=/usr" + - "-DCMAKE_BUILD_TYPE=Release" + - "-DENABLE_TESTING=OFF" + - "-DBUILD_TESTING=OFF" + - "-DKDE_SKIP_TEST_SETTINGS=ON" + - "-DCMAKE_FIND_ROOT_PATH=/usr\\;$CRAFT_STAGE\\;/snap/kf5-5-110-qt-5-15-11-core22-sdk/current" + - "-DKDE_INSTALL_PLUGINDIR=/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/plugins/" + prime: + - "-usr/lib/*/cmake/*" + - "-usr/include/*" + - "-usr/share/ECM/*" + - "-usr/share/doc/*" + - "-usr/share/man/*" + - "-usr/share/icons/breeze-dark*" + - "-usr/bin/X11" + - "-usr/lib/gcc/$CRAFT_ARCH_TRIPLET/6.0.0" + - "-usr/lib/aspell/*" + - "-usr/share/lintian" + build-environment: &id005 + - *id001 + - *id002 + - *id003 + - *id004 + cleanup: + after: + - kde-neon + - lskat + plugin: nil + override-prime: | + set -eux + # find $CRAFT_PRIME/usr/share/doc/ -type f -not -name 'copyright' -delete + # find $CRAFT_PRIME/usr/share -type d -empty -delete | /bin/true + # # Unused libraries found by linter + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/src/fromlibkdegames/cardcache.cpp new/lskat-23.08.3/src/fromlibkdegames/cardcache.cpp --- old/lskat-23.08.2/src/fromlibkdegames/cardcache.cpp 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/src/fromlibkdegames/cardcache.cpp 2023-11-04 12:15:26.000000000 +0100 @@ -10,7 +10,6 @@ #include <QDateTime> #include <QFileInfo> -#include <QImage> #include <QMutexLocker> #include <QPainter> #include <QPixmap> @@ -202,12 +201,11 @@ return doRender(element, renderer(), size); } -void KCardCachePrivate::submitRendering(const QString &key, const QImage &image) +void KCardCachePrivate::submitRendering(const QString &key, const QPixmap &pixmap) { qCDebug(LSKAT_LOG) << "Received render of" << key << "from rendering thread."; - QPixmap pix = QPixmap::fromImage(image); QMutexLocker l(cacheMutex); - cache->insertPixmap(key, pix); + cache->insertPixmap(key, pixmap); } LoadThread::LoadThread(KCardCachePrivate *d_) @@ -256,7 +254,7 @@ if (doKill) return; } - QImage img = QImage(size, QImage::Format_ARGB32); + QPixmap img(size); img.fill(Qt::transparent); QPainter p(&img); { @@ -416,63 +414,6 @@ d->loadThread->start(QThread::IdlePriority); } -QSizeF KCardCache::defaultCardSize(KCardInfo info) const -{ - if (d->deckName.isEmpty()) - return QSizeF(); - - QPixmap pix; - QString key = d->deckName + QLatin1Char('_') + info.svgName() + QLatin1String("_default"); - { - QMutexLocker(d->cacheMutex); - if (d->cache && d->cache->findPixmap(key, &pix)) - return pix.size(); - } - - { - QMutexLocker(d->rendererMutex); - QSizeF size = d->renderer()->boundsOnElement(info.svgName()).size(); - pix = QPixmap(size.toSize()); - } - - { - QMutexLocker(d->cacheMutex); - if (d->cache) - d->cache->insertPixmap(key, pix); - } - - return pix.size(); -} - -QSizeF KCardCache::defaultBackSize() const -{ - if (d->deckName.isEmpty()) - return QSizeF(); - - QString element = QStringLiteral("back"); - QPixmap pix; - QString key = d->deckName + QLatin1Char('_') + element + QLatin1String("_default"); - { - QMutexLocker(d->cacheMutex); - if (d->cache && d->cache->findPixmap(key, &pix)) - return pix.size(); - } - - { - QMutexLocker(d->rendererMutex); - QSizeF size = d->renderer()->boundsOnElement(element).size(); - pix = QPixmap(size.toSize()); - } - - { - QMutexLocker(d->cacheMutex); - if (d->cache) - d->cache->insertPixmap(key, pix); - } - - return pix.size(); -} - void KCardCache::invalidateCache() { QMutexLocker l(d->cacheMutex); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/src/fromlibkdegames/cardcache.h new/lskat-23.08.3/src/fromlibkdegames/cardcache.h --- old/lskat-23.08.2/src/fromlibkdegames/cardcache.h 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/src/fromlibkdegames/cardcache.h 2023-11-04 12:15:26.000000000 +0100 @@ -147,19 +147,6 @@ QPixmap backside() const; /** - * Retrieve the default size for the backside card. - * - * Make sure to set a reasonable theme, before calling this function. - * - * @param variant which variant, like a back with another color, to use. - * Defaults to -1 which means no variant. - * - * @returns the default size of the selected background variant - * - */ - QSizeF defaultBackSize() const; - - /** * Invalidates all cached images in the current size for the current * backside theme */ @@ -185,20 +172,6 @@ QPixmap frontside(KCardInfo info) const; /** - * Retrieve the default size for the frontside card. - * - * Make sure to set a reasonable theme, before calling this function. - * - * @param info A combination of CardInfo flags to identify what type of card - * to load. There are of course only certain combinations that make sense, - * like King | Heart, some flags are used standalone, like Joker. - * - * @returns the default size of the selected frontside card - * - */ - QSizeF defaultCardSize(KCardInfo info) const; - - /** * Invalidates all cached images in the current size for the current * frontside theme */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/src/fromlibkdegames/cardcache_p.h new/lskat-23.08.3/src/fromlibkdegames/cardcache_p.h --- old/lskat-23.08.2/src/fromlibkdegames/cardcache_p.h 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/src/fromlibkdegames/cardcache_p.h 2023-11-04 12:15:26.000000000 +0100 @@ -10,7 +10,6 @@ #include <KImageCache> -#include <QImage> #include <QThread> #include <QString> #include <QStringList> @@ -37,14 +36,14 @@ QPixmap renderSvg(const QString &element); void ensureNonNullPixmap(QPixmap &pix); public Q_SLOTS: - void submitRendering(const QString &key, const QImage &image); + void submitRendering(const QString &key, const QPixmap &pixmap); }; class LoadThread : public QThread { Q_OBJECT Q_SIGNALS: - void renderingDone(const QString &key, const QImage &image); + void renderingDone(const QString &key, const QPixmap &pixmap); public: explicit LoadThread(KCardCachePrivate *d); ~LoadThread() override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lskat-23.08.2/src/thememanager.cpp new/lskat-23.08.3/src/thememanager.cpp --- old/lskat-23.08.2/src/thememanager.cpp 2023-10-09 05:21:44.000000000 +0200 +++ new/lskat-23.08.3/src/thememanager.cpp 2023-11-04 12:15:26.000000000 +0100 @@ -12,7 +12,7 @@ #include "thememanager.h" // Qt includes -#include <QImage> +#include <QApplication> #include <QPixmap> #include <QPainter> #include <QRectF> @@ -237,29 +237,35 @@ const QPixmap ThemeManager::getCard(int suite, int cardtype, double width) { KCardInfo info = convertToKCardInfo(CardDeck::Suite(suite), CardDeck::CardType(cardtype)); - QSize s(int(width), int(width / mCardAspectRatio)); - if (s != mCardCache->size()) - { - mCardCache->setSize(s); + const qreal dpr = qApp->devicePixelRatio(); + const int deviceWidth = width * dpr; + const QSize deviceSize(deviceWidth, int(deviceWidth / mCardAspectRatio)); + + if (deviceSize != mCardCache->size()) { + mCardCache->setSize(deviceSize); QMetaObject::invokeMethod(this, "loadCardsInBackground", Qt::QueuedConnection); } QPixmap pix = mCardCache->frontside(info); + pix.setDevicePixelRatio(dpr); return pix; } // Get the pixmap for a card back, given the desired card width in pixel const QPixmap ThemeManager::getCardback(double width) { - QSize s(int(width), int(width / mCardAspectRatio)); - if (s != mCardCache->size()) - { - mCardCache->setSize(s); + const qreal dpr = qApp->devicePixelRatio(); + const int deviceWidth = width * dpr; + const QSize deviceSize(deviceWidth, int(deviceWidth / mCardAspectRatio)); + + if (deviceSize != mCardCache->size()) { + mCardCache->setSize(deviceSize); QMetaObject::invokeMethod(this, "loadCardsInBackground", Qt::QueuedConnection); } QPixmap pix = mCardCache->backside(); + pix.setDevicePixelRatio(dpr); return pix; } @@ -274,23 +280,26 @@ return pixmap; } + const auto dpr = qApp->devicePixelRatio(); + const QSize deviceSize = size * dpr; + // Cached pixmap? if (mPixmapCache.contains(svgid)) { pixmap = mPixmapCache[svgid]; - if (pixmap.size() == size) + if (pixmap.size() == deviceSize) { return pixmap; } } // Create new image - QImage image(size, QImage::Format_ARGB32_Premultiplied); - image.fill(0); - QPainter p(&image); + pixmap = QPixmap(deviceSize); + pixmap.fill(Qt::transparent); + QPainter p(&pixmap); renderer->render(&p, svgid); p.end(); - pixmap = QPixmap::fromImage(image); + pixmap.setDevicePixelRatio(dpr); if (pixmap.isNull()) qCCritical(LSKAT_LOG) << "ThemeManager::getPixmap Cannot load svgid ID " << svgid;