summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-10-10 13:38:02 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-10-10 13:38:02 (GMT)
commit22d7b6c1afb3e8558941052b09f755cceb0a46fd (patch)
tree9e9a09f2fdbce16500f99a09ee286c82785d3aa3 /src/gui/painting
parent95e5e8ff45d2aa8acda595186136b54f695bb9cb (diff)
parente9712d60c6e40c2b81b10611a3573c4638121a85 (diff)
downloadQt-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.cpp5
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);
}
}