]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kpixmapmodifier.cpp
Merge remote-tracking branch 'origin/release/21.08'
[dolphin.git] / src / kitemviews / private / kpixmapmodifier.cpp
index 402fccfdecf55b526ba734036da8b72d62a3b6f4..9f7f2edc82d33885289341a0415456dcbb557d2a 100644 (file)
@@ -2,34 +2,15 @@
 /*
     This file is a part of the KDE project
 
-    Copyright © 2006 Zack Rusin <zack@kde.org>
-    Copyright © 2006-2007, 2008 Fredrik Höglund <fredrik@kde.org>
+    SPDX-FileCopyrightText: 2006 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006-2007, 2008 Fredrik Höglund <fredrik@kde.org>
 
     The stack blur algorithm was invented by Mario Klingemann <mario@quasimondo.com>
 
     This implementation is based on the version in Anti-Grain Geometry Version 2.4,
-    Copyright © 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions
-    are met:
-
-    1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-    OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-    IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    SPDX-FileCopyrightText: 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
+
+    SPDX-License-Identifier: BSD-2-Clause
 */
 
 #include "kpixmapmodifier.h"
@@ -317,7 +298,7 @@ namespace {
 
 void KPixmapModifier::scale(QPixmap& pixmap, const QSize& scaledSize)
 {
-    if (scaledSize.isEmpty()) {
+    if (scaledSize.isEmpty() || pixmap.isNull()) {
         pixmap = QPixmap();
         return;
     }
@@ -328,6 +309,12 @@ void KPixmapModifier::scale(QPixmap& pixmap, const QSize& scaledSize)
 
 void KPixmapModifier::applyFrame(QPixmap& icon, const QSize& scaledSize)
 {
+    if (icon.isNull()) {
+        icon = QPixmap(scaledSize);
+        icon.fill(Qt::transparent);
+        return;
+    }
+
     static TileSet tileSet;
     qreal dpr = qApp->devicePixelRatio();