src/gui/image/qpixmap_qws.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- 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();
     }