Date: Monday, February 20, 2017 @ 12:11:35 Author: felixonmars Revision: 213190
upgpkg: deepin-dock 4.1.1-2 Added: deepin-dock/trunk/fix-null-pixmap.patch Modified: deepin-dock/trunk/PKGBUILD -----------------------+ PKGBUILD | 13 ++++++++++--- fix-null-pixmap.patch | 29 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-02-20 10:26:11 UTC (rev 213189) +++ PKGBUILD 2017-02-20 12:11:35 UTC (rev 213190) @@ -5,7 +5,7 @@ pkgname=deepin-dock pkgver=4.1.1 -pkgrel=1 +pkgrel=2 pkgdesc='Deepin desktop-environment - dock module' arch=('i686' 'x86_64') url="https://github.com/linuxdeepin/dde-dock" @@ -15,9 +15,16 @@ conflicts=('dde-dock') replaces=('dde-dock') groups=('deepin') -source=("git+https://cr.deepin.io/dde/dde-dock.git#tag=$pkgver") -sha256sums=('SKIP') +source=("git+https://cr.deepin.io/dde/dde-dock.git#tag=$pkgver" + fix-null-pixmap.patch) +sha256sums=('SKIP' + 'a6340bddad48f6cf27387c130f0546b042873654f3ea05615d6896b46cda54de') +prepare() { + cd dde-dock + patch -p1 -i ../fix-null-pixmap.patch +} + build() { cd dde-dock qmake-qt5 PREFIX=/usr Added: fix-null-pixmap.patch =================================================================== --- fix-null-pixmap.patch (rev 0) +++ fix-null-pixmap.patch 2017-02-20 12:11:35 UTC (rev 213190) @@ -0,0 +1,29 @@ +commit 90e102335bc45af76455a8591ca3b2d5b0aa6e44 +Author: Felix Yan <felixonm...@archlinux.org> +Date: Mon Feb 20 20:05:26 2017 +0800 + + Only return QPixmap when it is not null + + QFile::exists() returns true even for executables in $PATH, and loading + those files with QPixmap() will return a null object. + + Change-Id: I29a954aa2d504ca051b7328978426b6b993da753 + +diff --git a/frame/util/themeappicon.cpp b/frame/util/themeappicon.cpp +index b8e1587..b150b97 100644 +--- a/frame/util/themeappicon.cpp ++++ b/frame/util/themeappicon.cpp +@@ -18,8 +18,11 @@ QPixmap ThemeAppIcon::getIcon(const QString iconName, const int size) + { + QPixmap pixmap(size, size); + +- if (QFile::exists(iconName)) +- return QPixmap(iconName); ++ if (QFile::exists(iconName)) { ++ pixmap = QPixmap(iconName); ++ if (!pixmap.isNull()) ++ return pixmap; ++ } + if (iconName.startsWith("data:image/")) + { + const QStringList strs = iconName.split("base64,");