Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-6533

QImage::operator== causes valgrind warnings

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P2: Important
    • 4.6.2
    • 4.6.0, 4.6.1
    • GUI: Painting
    • None

    Description

      The attached application produces this output from valgrind:

      x11-46 [fun:~/temp/colorize] cat log
      ==19402== Memcheck, a memory error detector
      ==19402== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
      ==19402== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
      ==19402== Command: ./colorize
      ==19402==
      ==19402== Conditional jump or move depends on uninitialised value(s)
      ==19402== at 0x4C26D87: bcmp (mc_replace_strmem.c:526)
      ==19402== by 0x515905D: QImage::operator==(QImage const&) const (qimage.cpp:4908)
      ==19402== by 0x5159290: QImage::operator!=(QImage const&) const (qimage.cpp:4959)
      ==19402== by 0x5187D1E: grayscale(QImage const&, QImage&, QRect const&) (qpixmapfilter.cpp:720)
      ==19402== by 0x5188A36: QPixmapColorizeFilter::draw(QPainter*, QPointF const&, QPixmap const&, QRectF const&) const (qpixmapfilter.cpp:883)
      ==19402== by 0x58DFB60: QGraphicsColorizeEffect::draw(QPainter*) (qgraphicseffect.cpp:690)
      ==19402== by 0x5848536: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*)
      (qgraphicsscene.cpp:4665)
      ==19402== by 0x5847B38: QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (qgraphicsscene.cpp:4568)
      ==19402== by 0x5876B6D: QGraphicsView::paintEvent(QPaintEvent*) (qgraphicsview.cpp:3352)
      ==19402== by 0x50C740A: QWidget::event(QEvent*) (qwidget.cpp:8128)
      ==19402== by 0x559EFEE: QFrame::event(QEvent*) (qframe.cpp:557)
      ==19402== by 0x5656D0E: QAbstractScrollArea::viewportEvent(QEvent*) (qabstractscrollarea.cpp:1032)
      ==19402==
      ==19402== Conditional jump or move depends on uninitialised value(s)
      ==19402== at 0x4C26DA9: bcmp (mc_replace_strmem.c:526)
      ==19402== by 0x515905D: QImage::operator==(QImage const&) const (qimage.cpp:4908)
      ==19402== by 0x5159290: QImage::operator!=(QImage const&) const (qimage.cpp:4959)
      ==19402== by 0x5187D1E: grayscale(QImage const&, QImage&, QRect const&) (qpixmapfilter.cpp:720)
      ==19402== by 0x5188A36: QPixmapColorizeFilter::draw(QPainter*, QPointF const&, QPixmap const&, QRectF const&) const (qpixmapfilter.cpp:883)
      ==19402== by 0x58DFB60: QGraphicsColorizeEffect::draw(QPainter*) (qgraphicseffect.cpp:690)
      ==19402== by 0x5848536: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*)
      (qgraphicsscene.cpp:4665)
      ==19402== by 0x5847B38: QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (qgraphicsscene.cpp:4568)
      ==19402== by 0x5876B6D: QGraphicsView::paintEvent(QPaintEvent*) (qgraphicsview.cpp:3352)
      ==19402== by 0x50C740A: QWidget::event(QEvent*) (qwidget.cpp:8128)
      ==19402== by 0x559EFEE: QFrame::event(QEvent*) (qframe.cpp:557)
      ==19402== by 0x5656D0E: QAbstractScrollArea::viewportEvent(QEvent*) (qabstractscrollarea.cpp:1032)
      ==19402==
      ==19402== Conditional jump or move depends on uninitialised value(s)
      ==19402== at 0x5159065: QImage::operator==(QImage const&) const (qimage.cpp:4908)
      ==19402== by 0x5159290: QImage::operator!=(QImage const&) const (qimage.cpp:4959)
      ==19402== by 0x5187D1E: grayscale(QImage const&, QImage&, QRect const&) (qpixmapfilter.cpp:720)
      ==19402== by 0x5188A36: QPixmapColorizeFilter::draw(QPainter*, QPointF const&, QPixmap const&, QRectF const&) const (qpixmapfilter.cpp:883)
      ==19402== by 0x58DFB60: QGraphicsColorizeEffect::draw(QPainter*) (qgraphicseffect.cpp:690)
      ==19402== by 0x5848536: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*)
      (qgraphicsscene.cpp:4665)
      ==19402== by 0x5847B38: QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (qgraphicsscene.cpp:4568)
      ==19402== by 0x5876B6D: QGraphicsView::paintEvent(QPaintEvent*) (qgraphicsview.cpp:3352)
      ==19402== by 0x50C740A: QWidget::event(QEvent*) (qwidget.cpp:8128)
      ==19402== by 0x559EFEE: QFrame::event(QEvent*) (qframe.cpp:557)
      ==19402== by 0x5656D0E: QAbstractScrollArea::viewportEvent(QEvent*) (qabstractscrollarea.cpp:1032)
      ==19402== by 0x5873E5F: QGraphicsView::viewportEvent(QEvent*) (qgraphicsview.cpp:2747)
      ==19402==
      ==19402==
      ==19402== HEAP SUMMARY:
      ==19402== in use at exit: 417,880 bytes in 4,160 blocks
      ==19402== total heap usage: 15,602 allocs, 11,442 frees, 2,525,575 bytes allocated
      ==19402==
      ==19402== LEAK SUMMARY:
      ==19402== definitely lost: 256 bytes in 1 blocks
      ==19402== indirectly lost: 32 bytes in 1 blocks
      ==19402== possibly lost: 90,993 bytes in 423 blocks
      ==19402== still reachable: 326,599 bytes in 3,735 blocks
      ==19402== suppressed: 0 bytes in 0 blocks
      ==19402== Rerun with --leak-check=full to see details of leaked memory
      ==19402==
      ==19402== For counts of detected and suppressed errors, rerun with: -v
      ==19402== Use --track-origins=yes to see where uninitialised values come from
      ==19402== ERROR SUMMARY: 5 errors from 3 contexts (suppressed: 5 from 5)

      This is running Qt X11 46 (696099f8e3179787114df40d6ce6fef97bfa33dc) on 64-bit linux.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            bjnilsen Bjørn Erik Nilsen
            rve Anders Bakken
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes