diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-09-20 12:10:06 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-09-20 12:10:06 (GMT) |
commit | 0fd2c492ee2e8317a5fbb0fb446816df53d5b17b (patch) | |
tree | 0e2cb6a5a264b95ba5f38a0c279f730cb1fcbdc7 /src/gui/image | |
parent | 7f11c900e9184565321c09533b468abb047129b8 (diff) | |
parent | 6c8dcd5744e2c14d122f0967de72a9e171dd9715 (diff) | |
download | Qt-0fd2c492ee2e8317a5fbb0fb446816df53d5b17b.zip Qt-0fd2c492ee2e8317a5fbb0fb446816df53d5b17b.tar.gz Qt-0fd2c492ee2e8317a5fbb0fb446816df53d5b17b.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fixes QPen dash offset for OpenGL paint engines (1.x & 2.x).
Support multisampled pbuffers under Windows.
tst_qpixmapfilter: Fix compilation in namespace
qtextcodec_symbian: Add few aliases
Give a warning in QPixmap::handle() if pixmap is not X11 class.
Make QStaticText honor QPainter::pen() for rich text on X11 w/raster
Fixed compilation of MeeGo graphics system without eglext.h
Fixed memory corruption issue in qt_blurImage for Indexed8 images.
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qpixmap.cpp | 8 | ||||
-rw-r--r-- | src/gui/image/qpixmapfilter.cpp | 15 |
2 files changed, 17 insertions, 6 deletions
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp index 66a861d..1e502bd 100644 --- a/src/gui/image/qpixmap.cpp +++ b/src/gui/image/qpixmap.cpp @@ -1177,8 +1177,12 @@ Qt::HANDLE QPixmap::handle() const { #if defined(Q_WS_X11) const QPixmapData *pd = pixmapData(); - if (pd && pd->classId() == QPixmapData::X11Class) - return static_cast<const QX11PixmapData*>(pd)->handle(); + if (pd) { + if (pd->classId() == QPixmapData::X11Class) + return static_cast<const QX11PixmapData*>(pd)->handle(); + else + qWarning("QPixmap::handle(): Pixmap is not an X11 class pixmap"); + } #endif return 0; } diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp index 70770c4..26bffcc 100644 --- a/src/gui/image/qpixmapfilter.cpp +++ b/src/gui/image/qpixmapfilter.cpp @@ -764,10 +764,17 @@ void expblur(QImage &img, qreal radius, bool improvedQuality = false, int transp } if (transposed == 0) { - qt_memrotate90(reinterpret_cast<const quint32*>(temp.bits()), - temp.width(), temp.height(), temp.bytesPerLine(), - reinterpret_cast<quint32*>(img.bits()), - img.bytesPerLine()); + if (img.depth() == 8) { + qt_memrotate90(reinterpret_cast<const quint8*>(temp.bits()), + temp.width(), temp.height(), temp.bytesPerLine(), + reinterpret_cast<quint8*>(img.bits()), + img.bytesPerLine()); + } else { + qt_memrotate90(reinterpret_cast<const quint32*>(temp.bits()), + temp.width(), temp.height(), temp.bytesPerLine(), + reinterpret_cast<quint32*>(img.bits()), + img.bytesPerLine()); + } } else { img = temp; } |