diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2009-06-25 14:31:00 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2009-06-25 14:31:00 (GMT) |
commit | 3e36b311710009039e8ffdfa46702e012f25785b (patch) | |
tree | e02a30a76a9e036bdc4fe85f35ba946d1a7d5389 /src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | |
parent | 9d8f5dcb46f64ee2f5e205100b603f6d01f1381b (diff) | |
parent | 4b9784fcdd7321a5d82b8ae73edd1ae52786d7ad (diff) | |
download | Qt-3e36b311710009039e8ffdfa46702e012f25785b.zip Qt-3e36b311710009039e8ffdfa46702e012f25785b.tar.gz Qt-3e36b311710009039e8ffdfa46702e012f25785b.tar.bz2 |
Merge branch '4.5'
Conflicts:
src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
Diffstat (limited to 'src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp')
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp index 9dc7818..c9d5d7c 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp @@ -90,7 +90,6 @@ void QDirectFBPixmapData::resize(int width, int height) setSerialNumber(++global_ser_no); } - // mostly duplicated from qimage.cpp (QImageData::checkForAlphaPixels) static bool checkForAlphaPixels(const QImage &img) { @@ -209,6 +208,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect) QPixmapData::copy(data, rect); return; } + unlockDirectFB(); const QDirectFBPixmapData *otherData = static_cast<const QDirectFBPixmapData*>(data); IDirectFBSurface *src = otherData->directFBSurface(); @@ -296,10 +296,10 @@ void QDirectFBPixmapData::fill(const QColor &color) QPixmap QDirectFBPixmapData::transformed(const QTransform &transform, Qt::TransformationMode mode) const { + QDirectFBPixmapData *that = const_cast<QDirectFBPixmapData*>(this); if (!dfbSurface || transform.type() != QTransform::TxScale || mode != Qt::FastTransformation) { - QDirectFBPixmapData *that = const_cast<QDirectFBPixmapData*>(this); const QImage *image = that->buffer(); Q_ASSERT(image); const QImage transformed = image->transformed(transform, mode); @@ -308,6 +308,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform, data->fromImage(transformed, Qt::AutoColor); return QPixmap(data); } + that->unlockDirectFB(); const QSize size = transform.mapRect(QRect(0, 0, w, h)).size(); if (size.isEmpty()) |