summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Kjernåsen <trond@trolltech.com>2009-06-05 14:41:23 (GMT)
committerTrond Kjernåsen <trond@trolltech.com>2009-06-05 14:43:51 (GMT)
commitd29da4699a2887cdf0836ff39652524d015431c0 (patch)
treef6ad0523525561a7223b6c66d5411ce8f701c4c4
parentb59d84fe67caedeb8c11d2530ddee2017a376920 (diff)
downloadQt-d29da4699a2887cdf0836ff39652524d015431c0.zip
Qt-d29da4699a2887cdf0836ff39652524d015431c0.tar.gz
Qt-d29da4699a2887cdf0836ff39652524d015431c0.tar.bz2
Fixed an issue with graphicssystem raster on 8 and 16 bit X servers.
We didn't actually check the depth of the target window before calling the qt_x11_drawImage() fu, that will only work with depths >= 24. Task-number: 255311 Reviewed-by: Samuel BT: yes
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index 110ba2f..0a6a04e 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -229,7 +229,7 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
{
const QImage &src = d->image->image;
br = br.intersected(src.rect());
- if (src.format() != QImage::Format_RGB32) {
+ if (src.format() != QImage::Format_RGB32 || widget->x11Info().depth() < 24) {
QX11PixmapData *data = new QX11PixmapData(QPixmapData::PixmapType);
data->xinfo = widget->x11Info();
data->fromImage(src, Qt::AutoColor);