Help needed in interpreting valgrind output

Martijn Klingens klingens at kde.org
Tue Apr 23 21:08:01 BST 2002


On Tuesday 23 April 2002 16:09, Martijn Klingens wrote:
> On Tue, 23 Apr 2002, Matthias Welwarsky wrote:
> > valgrinding ksiemens (happens with all other apps, too), I see among
> > other stuff the following output:
> >
> > ==1786==
> > ==1786== Conditional jump or move depends on uninitialised value(s)
> > ==1786==    at 0x43DA1112:
> > LiquidStyle::drawPrimitive(QStyle::PrimitiveElement, QPainter *, QRect
> > const &, QColorGroup const &, unsigned int, QStyleOption const &) const
> > (in /opt/kde3_1303/lib/kde3/plugins/styles/liquid.so)
> > ==1786==    by 0x43DA6D16:
> > LiquidStyle::drawComplexControl(QStyle::ComplexControl, QPainter *,
> > QWidget const *, QRect const &, QColorGroup const &, unsigned int,
> > unsigned int, unsigned int, QStyleOption const &) const (in
> > /opt/kde3_1303/lib/kde3/plugins/styles/liquid.so)
> > ==1786==    by 0x407B5BC1: KToolBarButton::drawButton(QPainter *)
> > (ktoolbarbutton.cpp:519)
> > ==1786==    by 0x40D67483: QButton::paintEvent(QPaintEvent *) (in
> > /usr/lib/qt3/lib/libqt-mt.so.3.0.3)
>
> I saw this too when valgrinding Kopete, but only with Liquid and not with
> Highcolor. So it is definitely a problem that is only triggered by Liquid,
> but I haven't looked any further into it yet. Maybe it's because Lidquid
> does quite some magic in e.g. polish() to get all the mouse over stuff
> working correctly, that only Liquid triggers it?

Nope, it was a simple bug in Liquid. Recompiling liquid with 
--enable-debug=full gave the line number away (hint to Matze! :-), after 
which the fix was trivial. Try below patch.

Hmm, your backtrace is different, there might be more of these :-)

For Kopete this fixed the one I got in my output though.

Martijn

--- liquid.cpp.dist     Tue Apr 23 21:53:57 2002
+++ liquid.cpp  Tue Apr 23 21:54:46 2002
@@ -178,6 +178,7 @@
     : KStyle(0, ThreeButtonScrollBar)
 {
     headerHoverID = -1;
+    currentHeader = 0L;
     highlightWidget = NULL;
     btnDict.setAutoDelete(true);
     bevelFillDict.setAutoDelete(true);





More information about the kde-core-devel mailing list