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*) ()

Reply via email to