Hi,
from one of my tests for findadv that was failing:
[C-s-f] (pop-up advanced find)
\Axmath-display\[Return]
and I get infinite: "QWidget::repaint: recursive repaint", till
segfault. Beginning of stack trace is below (r39294).
What should I look for ? I don't seem to be calling explicitly any of
these harmful things:
$ grep -i paint src/lyxfind.cpp src/frontends/qt4/FindAndReplace.cpp
$ grep -i draw src/lyxfind.cpp src/frontends/qt4/FindAndReplace.cpp
Was there any recent committed change on the paint/repaint-ing logics ?
Thanks,
T.
#0 0x00007ffff675c934 in QTextEngine::itemize (this=0x7fffff8041c0) at
text/qtextengine.cpp:1416
#1 0x00007ffff675ed08 in QTextEngine::attributes (this=0x7fffff8041c0)
at text/qtextengine.cpp:1341
#2 0x00007ffff67650a3 in QTextLine::layout_helper (this=<value
optimized out>, maxGlyphs=<value optimized out>) at
text/qtextlayout.cpp:1822
#3 0x00007ffff665d254 in qt_format_text (fnt=..., _r=<value optimized
out>, tf=134219921, option=0x0, str=<value optimized out>, brect=0x0,
tabstops=0, tabarraylen=0,
painter=0x7fffff807a00) at painting/qpainter.cpp:8036
#4 0x00007ffff665e18e in QPainter::drawText (this=0x7fffff807a00,
r=..., flags=<value optimized out>, str=<value optimized out>, br=0x0)
at painting/qpainter.cpp:6053
#5 0x00007ffff689bc22 in QCleanlooksStyle::drawItemText (this=<value
optimized out>, painter=0x7fffff807a00, rect=..., alignment=2177,
pal=..., enabled=true, text=...,
textRole=QPalette::WindowText) at styles/qcleanlooksstyle.cpp:663
#6 0x00007ffff6887ce6 in QGtkStyle::drawControl (this=0x11fdfe0,
element=<value optimized out>, option=0x7fffff807970,
painter=0x7fffff807a00, widget=<value optimized out>)
at styles/qgtkstyle.cpp:2424
#7 0x00007ffff68fa89a in drawControl (this=0x1942100, event=<value
optimized out>) at
../../include/QtGui/../../src/gui/painting/qstylepainter.h:89
#8 QDockWidget::paintEvent (this=0x1942100, event=<value optimized
out>) at widgets/qdockwidget.cpp:1372
#9 0x00007ffff655bc7a in QWidget::event (this=0x1942100,
event=0x7fffff808310) at kernel/qwidget.cpp:8405
#10 0x00007ffff68fc353 in QDockWidget::event (this=0x1942100,
event=0x7fffff808310) at widgets/qdockwidget.cpp:1469
#11 0x00007ffff650a9f4 in QApplicationPrivate::notify_helper
(this=0x116a590, receiver=0x1942100, e=0x7fffff808310) at
kernel/qapplication.cpp:4462
#12 0x00007ffff650f3ba in QApplication::notify (this=<value optimized
out>, receiver=0x1942100, e=0x7fffff808310) at kernel/qapplication.cpp:4341
#13 0x000000000087d492 in
lyx::frontend::GuiApplication::notify(QObject*, QEvent*) ()
#14 0x00007ffff601c49c in QCoreApplication::notifyInternal
(this=0x116a9e0, receiver=0x1942100, event=0x7fffff808310) at
kernel/qcoreapplication.cpp:731
#15 0x00007ffff6558acd in sendSpontaneousEvent (this=0x1942740,
pdev=0x1907348, rgn=..., offset=..., flags=4, sharedPainter=0x0,
backingStore=0x1907430)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#16 QWidgetPrivate::drawWidget (this=0x1942740, pdev=0x1907348, rgn=...,
offset=..., flags=4, sharedPainter=0x0, backingStore=0x1907430) at
kernel/qwidget.cpp:5492
#17 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x15e60a0, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#18 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x15e60a0,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#19 0x00007ffff671f9eb in QWidgetBackingStore::sync (this=0x1907430) at
painting/qbackingstore.cpp:1333
#20 0x00007ffff654ef60 in QWidgetPrivate::syncBackingStore
(this=0x15e60a0) at kernel/qwidget.cpp:1842
#21 0x00007ffff655c194 in QWidget::event (this=0x15dc770,
event=0x7fffff809730) at kernel/qwidget.cpp:8552
#22 0x00007ffff6927c0b in QMainWindow::event (this=0x15dc770,
event=0x7fffff809730) at widgets/qmainwindow.cpp:1480
#23 0x00000000008a8052 in lyx::frontend::GuiView::event(QEvent*) ()
#24 0x00007ffff650a9f4 in QApplicationPrivate::notify_helper
(this=0x116a590, receiver=0x15dc770, e=0x7fffff809730) at
kernel/qapplication.cpp:4462
#25 0x00007ffff650f3ba in QApplication::notify (this=<value optimized
out>, receiver=0x15dc770, e=0x7fffff809730) at kernel/qapplication.cpp:4341
#26 0x000000000087d492 in
lyx::frontend::GuiApplication::notify(QObject*, QEvent*) ()
#27 0x00007ffff601c49c in QCoreApplication::notifyInternal
(this=0x116a9e0, receiver=0x15dc770, event=0x7fffff809730) at
kernel/qcoreapplication.cpp:731
#28 0x00007ffff671c9e2 in sendEvent (this=0x1907430, rect=<value
optimized out>, widget=<value optimized out>, updateImmediately=true,
invalidateBuffer=false)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#29 sendUpdateRequest (this=0x1907430, rect=<value optimized out>,
widget=<value optimized out>, updateImmediately=true,
invalidateBuffer=false)
at painting/qbackingstore.cpp:507
#30 QWidgetBackingStore::markDirty (this=0x1907430, rect=<value
optimized out>, widget=<value optimized out>, updateImmediately=true,
invalidateBuffer=false)
at painting/qbackingstore.cpp:683
#31 0x00007ffff654e7f8 in QWidget::repaint (this=0x19532f0, rect=...) at
kernel/qwidget.cpp:10322
#32 0x00007ffff654e871 in QWidget::repaint (this=<value optimized out>,
x=<value optimized out>, y=<value optimized out>, w=<value optimized
out>, h=<value optimized out>)
at kernel/qwidget.cpp:10299
#33 0x00000000008cc7d5 in lyx::frontend::GuiWorkArea::update(int, int,
int, int) ()
#34 0x00000000008ca156 in lyx::frontend::GuiWorkArea::redraw(bool) ()
#35 0x000000000086d3ac in lyx::frontend::WorkAreaManager::redrawAll(bool) ()
#36 0x00000000004782dd in lyx::Buffer::changed(bool) const ()
#37 0x0000000000649b51 in lyx::BufferView::scrollToCursor() ()
#38 0x00000000008ca705 in lyx::frontend::GuiWorkArea::resizeBufferView() ()
#39 0x00000000008cc88a in
lyx::frontend::GuiWorkArea::paintEvent(QPaintEvent*) ()
#40 0x00007ffff655bc7a in QWidget::event (this=0x1952ec0,
event=0x7fffff80a330) at kernel/qwidget.cpp:8405
#41 0x00007ffff690e156 in QFrame::event (this=0x1952ec0,
e=0x7fffff80a330) at widgets/qframe.cpp:557
#42 0x00007ffff601c627 in
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value
optimized out>, receiver=0x19532f0, event=0x7fffff80a330)
at kernel/qcoreapplication.cpp:846
#43 0x00007ffff650a9c1 in QApplicationPrivate::notify_helper
(this=0x116a590, receiver=0x19532f0, e=0x7fffff80a330) at
kernel/qapplication.cpp:4458
#44 0x00007ffff650f3ba in QApplication::notify (this=<value optimized
out>, receiver=0x19532f0, e=0x7fffff80a330) at kernel/qapplication.cpp:4341
#45 0x000000000087d492 in
lyx::frontend::GuiApplication::notify(QObject*, QEvent*) ()
#46 0x00007ffff601c49c in QCoreApplication::notifyInternal
(this=0x116a9e0, receiver=0x19532f0, event=0x7fffff80a330) at
kernel/qcoreapplication.cpp:731
#47 0x00007ffff6558acd in sendSpontaneousEvent (this=0x1953320,
pdev=0x1907348, rgn=..., offset=..., flags=4, sharedPainter=0x0,
backingStore=0x1907430)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#48 QWidgetPrivate::drawWidget (this=0x1953320, pdev=0x1907348, rgn=...,
offset=..., flags=4, sharedPainter=0x0, backingStore=0x1907430) at
kernel/qwidget.cpp:5492
#49 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x1952ff0, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#50 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x1952ff0,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#51 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x19523c0, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#52 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x19523c0,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#53 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x1934740, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#54 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x1934740,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#55 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x19344a0, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#56 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x19344a0,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#57 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x1942740, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#58 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x1942740,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#59 0x00007ffff65596e2 in QWidgetPrivate::paintSiblingsRecursive
(this=0x15e60a0, pdev=0x1907348, siblings=..., index=<value optimized
out>, rgn=..., offset=..., flags=4,
sharedPainter=0x0, backingStore=0x1907430) at kernel/qwidget.cpp:5699
#60 0x00007ffff655880c in QWidgetPrivate::drawWidget (this=0x15e60a0,
pdev=0x1907348, rgn=..., offset=..., flags=<value optimized out>,
sharedPainter=0x0,
backingStore=0x1907430) at kernel/qwidget.cpp:5545
#61 0x00007ffff671f9eb in QWidgetBackingStore::sync (this=0x1907430) at
painting/qbackingstore.cpp:1333
#62 0x00007ffff654ef60 in QWidgetPrivate::syncBackingStore
(this=0x15e60a0) at kernel/qwidget.cpp:1842
#63 0x00007ffff655c194 in QWidget::event (this=0x15dc770,
event=0x7fffff80cba0) at kernel/qwidget.cpp:8552
#64 0x00007ffff6927c0b in QMainWindow::event (this=0x15dc770,
event=0x7fffff80cba0) at widgets/qmainwindow.cpp:1480
#65 0x00000000008a8052 in lyx::frontend::GuiView::event(QEvent*) ()