diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-10-10 13:38:02 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-10-10 13:38:02 (GMT) |
commit | 22d7b6c1afb3e8558941052b09f755cceb0a46fd (patch) | |
tree | 9e9a09f2fdbce16500f99a09ee286c82785d3aa3 /src/gui/painting | |
parent | 95e5e8ff45d2aa8acda595186136b54f695bb9cb (diff) | |
parent | e9712d60c6e40c2b81b10611a3573c4638121a85 (diff) | |
download | Qt-22d7b6c1afb3e8558941052b09f755cceb0a46fd.zip Qt-22d7b6c1afb3e8558941052b09f755cceb0a46fd.tar.gz Qt-22d7b6c1afb3e8558941052b09f755cceb0a46fd.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Fixes: libpng symbols exported from QtGui.dll on Windows
omit unassigned (and too recent codepoints) from the text Normalization process
Fixed broken window surface flush when depth is 24 and bpp is not 32.
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qwindowsurface_raster.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp index 15ff044..2a25bff 100644 --- a/src/gui/painting/qwindowsurface_raster.cpp +++ b/src/gui/painting/qwindowsurface_raster.cpp @@ -254,8 +254,9 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi } else #endif { + int depth = widget->x11Info().depth(); const QImage &src = d->image->image; - if (src.format() != QImage::Format_RGB32 || widget->x11Info().depth() < 24) { + if (src.format() != QImage::Format_RGB32 || depth < 24 || X11->bppForDepth.value(depth) != 32) { Q_ASSERT(src.depth() >= 16); const QImage sub_src(src.scanLine(br.y()) + br.x() * (uint(src.depth()) / 8), br.width(), br.height(), src.bytesPerLine(), src.format()); @@ -267,7 +268,7 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi } else { // qpaintengine_x11.cpp extern void qt_x11_drawImage(const QRect &rect, const QPoint &pos, const QImage &image, Drawable hd, GC gc, Display *dpy, Visual *visual, int depth); - qt_x11_drawImage(br, wpos, src, widget->handle(), d_ptr->gc, X11->display, (Visual *)widget->x11Info().visual(), widget->x11Info().depth()); + qt_x11_drawImage(br, wpos, src, widget->handle(), d_ptr->gc, X11->display, (Visual *)widget->x11Info().visual(), depth); } } |