==21966== 5,600 (544 direct, 5,056 indirect) bytes in 2 blocks are definitely lost in loss record 190 of 334 ==21966== at 0x4021DC5: operator new(unsigned) (vg_replace_malloc.c:163) ==21966== by 0x6240CEA: QX11PaintEngine::QX11PaintEngine() (qpaintengine_x11.cpp:425) ==21966== by 0x6180CA2: QPixmap::paintEngine() const (qpixmap_x11.cpp:2159) ==21966== by 0x61B850E: QPainter::begin(QPaintDevice*) (qpainter.cpp:1303) ==21966== by 0x61B8CDF: QPainter::QPainter(QPaintDevice*) (qpainter.cpp:1072) ==21966== by 0x46485EB: KMail::HeaderItem::pixmapMerge(QList) const (headeritem.cpp:218) ==21966== by 0x4648B40: KMail::HeaderItem::pixmap(int) const (headeritem.cpp:331) ==21966== by 0x6887697: Q3ListViewItem::paintCell(QPainter*, QColorGroup const&, int, int, int) (q3listview.cpp:2091) ==21966== by 0x5C345FE: K3ListViewItem::paintCell(QPainter*, QColorGroup const&, int, int, int) (k3listview.cpp:2346) ==21966== by 0x4648401: KMail::HeaderItem::paintCell(QPainter*, QColorGroup const&, int, int, int) (headeritem.cpp:440) ==21966== by 0x6885542: Q3ListView::drawContentsOffset(QPainter*, int, int, int, int, int, int) (q3listview.cpp:2896) ==21966== by 0x68ECAD6: Q3ScrollView::viewportPaintEvent(QPaintEvent*) (q3scrollview.cpp:1735) QPixmap HeaderItem::pixmapMerge( PixmapList pixmaps ) const { // Calculate the width and height of the resulting pixmap int width = 0; int height = 0; for ( PixmapList::ConstIterator it = pixmaps.begin(); it != pixmaps.end(); ++it ) { width += (*it).width(); height = qMax( height, (*it).height() ); } QPixmap res( width, height ); QBitmap mask( width, height ); QPainter resultPainter( &res ); QPainter maskPainter( &mask ); mask.clear(); // Paint all pixmaps of the list to the resulting pixmap int x = 0; for ( PixmapList::ConstIterator it = pixmaps.begin(); it != pixmaps.end(); ++it ) { resultPainter.drawPixmap( x, ( height - (*it).height() ) / 2, *it ); maskPainter.drawPixmap( x, (height - (*it).height()) / 2, (*it).mask() ); x += (*it).width(); } resultPainter.end(); maskPainter.end(); res.setMask( mask ); return res; }