diff options
author | Janne Anttila <janne.anttila@digia.com> | 2009-09-25 12:36:25 (GMT) |
---|---|---|
committer | Janne Anttila <janne.anttila@digia.com> | 2009-09-25 12:36:25 (GMT) |
commit | 22cfaa3aa04f84e65cd5867d432c6f4b4ad028f6 (patch) | |
tree | 7d2821b3c6bc2e6f2bf1902dd81560d6769bfedf | |
parent | 789232278180296b04b7178a95a2e0394eb6736c (diff) | |
parent | c0cb9c68f598197c1d52c4b9d3445c6b5c49ed8d (diff) | |
download | Qt-22cfaa3aa04f84e65cd5867d432c6f4b4ad028f6.zip Qt-22cfaa3aa04f84e65cd5867d432c6f4b4ad028f6.tar.gz Qt-22cfaa3aa04f84e65cd5867d432c6f4b4ad028f6.tar.bz2 |
Merge branch '4.6' of git@scm.dev.troll.no:qt/qt into 4.6
-rw-r--r-- | demos/browser/browser.pro | 2 | ||||
-rw-r--r-- | src/opengl/qpixmapdata_gl.cpp | 26 |
2 files changed, 19 insertions, 9 deletions
diff --git a/demos/browser/browser.pro b/demos/browser/browser.pro index afc25e3..407030f 100644 --- a/demos/browser/browser.pro +++ b/demos/browser/browser.pro @@ -6,6 +6,8 @@ CONFIG += qt warn_on contains(QT_BUILD_PARTS, tools):!symbian:!embedded: CONFIG += uitools else: DEFINES += QT_NO_UITOOLS +release:DEFINES+=QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT + FORMS += \ addbookmarkdialog.ui \ bookmarks.ui \ diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp index 8cb6c8d..2331c6d 100644 --- a/src/opengl/qpixmapdata_gl.cpp +++ b/src/opengl/qpixmapdata_gl.cpp @@ -384,8 +384,20 @@ void QGLPixmapData::fill(const QColor &color) m_hasFillColor = true; m_fillColor = color; } else { - QImage image = fillImage(color); - fromImage(image, 0); + + if (m_source.isNull()) { + m_fillColor = color; + m_hasFillColor = true; + + } else if (m_source.depth() == 32) { + m_source.fill(PREMUL(color.rgba())); + + } else if (m_source.depth() == 1) { + if (color == Qt::color1) + m_source.fill(1); + else + m_source.fill(0); + } } } @@ -399,15 +411,11 @@ QImage QGLPixmapData::fillImage(const QColor &color) const QImage img; if (pixelType() == BitmapType) { img = QImage(w, h, QImage::Format_MonoLSB); - img.setNumColors(2); - img.setColor(0, QColor(Qt::color0).rgba()); - img.setColor(1, QColor(Qt::color1).rgba()); - int gray = qGray(color.rgba()); - if (qAbs(255 - gray) < gray) - img.fill(0); - else + if (color == Qt::color1) img.fill(1); + else + img.fill(0); } else { img = QImage(w, h, m_hasAlpha |