directfb: Use QPlatformPixmap::fromFile for Qt resources
Move to fromFile to load Qt resources for two reasons. The first is that ::fromData creates a QBuffer on our raw data and is passing that to the QImageReaders. Right now we there is a QFile -> QByteArray -> QBuffer transition that wastes cycles. The other reason is that QPlatformPixmap::fromData did/does not check if the decoded image is null and might cause a crash because of that. Change-Id: I7cb92d84874323e7205ab28883cc0fe9ecca1e27 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
This commit is contained in:
parent
e03386945f
commit
8f6ee81ee9
@ -247,14 +247,8 @@ bool QDirectFbBlitterPlatformPixmap::fromFile(const QString &filename, const cha
|
||||
return QBlittablePlatformPixmap::fromFile(filename, format, flags);
|
||||
|
||||
// Deal with resources
|
||||
if (filename.startsWith(QLatin1Char(':'))) { // resource
|
||||
QFile file(filename);
|
||||
if (!file.open(QIODevice::ReadOnly))
|
||||
return false;
|
||||
const QByteArray data = file.readAll();
|
||||
file.close();
|
||||
return fromData(reinterpret_cast<const uchar*>(data.constData()), data.size(), format, flags);
|
||||
}
|
||||
if (filename.startsWith(QLatin1Char(':')))
|
||||
return QBlittablePlatformPixmap::fromFile(filename, format, flags);
|
||||
|
||||
// Try to use directfb to load it.
|
||||
DFBDataBufferDescription description;
|
||||
|
Loading…
Reference in New Issue
Block a user