summaryrefslogtreecommitdiffstats
path: root/src/gui/image
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-03-10 23:18:00 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-03-10 23:18:00 (GMT)
commitfcdf5a5471b7cf1d2bc72855ed1f627c8d6f4fc4 (patch)
tree9859d21d69c2d510f86316ff9ef3bd3da4972be0 /src/gui/image
parentd50278c22bf748691719abfd2837f96deabda033 (diff)
parent2ecb0ea77c04424f6f557ca8a13c1d86666763df (diff)
downloadQt-fcdf5a5471b7cf1d2bc72855ed1f627c8d6f4fc4.zip
Qt-fcdf5a5471b7cf1d2bc72855ed1f627c8d6f4fc4.tar.gz
Qt-fcdf5a5471b7cf1d2bc72855ed1f627c8d6f4fc4.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix for major regression in OpenVG clipping Cast int to HALData::TAttribute for QT_HALData_ENumCpus and compile with RVCT4. Don't use EGL surfaces for translucency with 32MB GPU chip. Fix for fromSymbianCFbsBitmap changing the source data unexpectedly. Background app visible after split view closed Get the number of cores from HAL on Symbian. Avoid image conversion in fromSymbianCFbsBitmap for certain formats. Polish splitview implementation QML app: text input field is not visible when split view is opened Visible flashing on QML app when split view is opened and closed
Diffstat (limited to 'src/gui/image')
-rw-r--r--src/gui/image/qpixmap_s60.cpp2
-rw-r--r--src/gui/image/qvolatileimagedata_symbian.cpp3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp
index ca5f133..fbdebf3 100644
--- a/src/gui/image/qpixmap_s60.cpp
+++ b/src/gui/image/qpixmap_s60.cpp
@@ -374,6 +374,8 @@ CFbsBitmap *QPixmap::toSymbianCFbsBitmap() const
To be sure that QPixmap does not modify your original instance, you should
make a copy of your \c CFbsBitmap before calling this function.
If the CFbsBitmap is not valid this function will return a null QPixmap.
+ For performance reasons it is recommended to use a \a bitmap with a display
+ mode of EColor16MAP or EColor16MU whenever possible.
\warning This function is only available on Symbian OS.
diff --git a/src/gui/image/qvolatileimagedata_symbian.cpp b/src/gui/image/qvolatileimagedata_symbian.cpp
index 474d0ef..6e2909b 100644
--- a/src/gui/image/qvolatileimagedata_symbian.cpp
+++ b/src/gui/image/qvolatileimagedata_symbian.cpp
@@ -392,6 +392,9 @@ void QVolatileImageData::initWithBitmap(CFbsBitmap *source)
} else if (needsCopy) {
// Rasterize extended and compressed bitmaps.
bitmap = rasterizeBitmap(source, EColor16MAP);
+ } else if (source->DisplayMode() == EGray2) {
+ // The pixels will be inverted, must make a copy.
+ bitmap = rasterizeBitmap(source, source->DisplayMode());
} else {
// Efficient path: no pixel data copying. Just duplicate. This of course
// means the original bitmap's data may get modified, but that's fine