--- a/src/gui/image/qpixmap_qws.cpp Tue Jan 26 12:42:25 2010 +0200
+++ b/src/gui/image/qpixmap_qws.cpp Tue Feb 02 00:43:10 2010 +0200
@@ -114,7 +114,7 @@
QRgb* QPixmap::clut() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.colorTable().data();
}
@@ -124,9 +124,14 @@
int QPixmap::numCols() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ return colorCount();
+}
+
+int QPixmap::colorCount() const
+{
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
- return d->image.numColors();
+ return d->image.colorCount();
}
return 0;
@@ -134,7 +139,7 @@
const uchar* QPixmap::qwsBits() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.bits();
}
@@ -144,7 +149,7 @@
int QPixmap::qwsBytesPerLine() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.bytesPerLine();
}