Summary: | Konqueror crashes when closing a full screen javascript "Prototype Window Class" | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Rutger Claes <rgc> |
Component: | khtml | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | maksim |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Rutger Claes
2006-10-10 09:46:49 UTC
Don't know if this is usefull in any way: Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1232386384 (LWP 8768)] [KCrash handler] #6 0xb7ce04ca in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6 #7 0xb7ce276b in mallopt () from /lib/tls/i686/cmov/libc.so.6 #8 0xb7ce41df in malloc () from /lib/tls/i686/cmov/libc.so.6 #9 0xb72de15a in QTextEngine::QTextEngine () from /usr/lib/libqt-mt.so.3 #10 0xb7198fe9 in QPainter::drawText () from /usr/lib/libqt-mt.so.3 #11 0xb6144cb0 in khtml::Font::drawText (this=0x88648f0, p=0x856a2e0, x=<value optimized out>, y=172, str=0x887e868, slen=363, pos=1, len=92, toAdd=0, d=QPainter::LTR, from=-1, to=-1, bg=@0xbfe2e0a4, uy=-1, h=-1, deco=0) at font.cpp:113 #12 0xb6145fc0 in khtml::RenderText::paint (this=0x847579c, pI=@0xbfe2e444, tx=30, ty=158) at render_text.cpp:960 #13 0xb61189b2 in khtml::RenderBlock::paintObject (this=0x84759e8, pI=@0xbfe2e444, _tx=30, _ty=158, shouldPaintOutline=true) at render_block.cpp:1629 #14 0xb611a33f in khtml::RenderBlock::paint (this=0x84759e8, pI=@0xbfe2e444, _tx=30, _ty=158) at render_block.cpp:1596 #15 0xb61189b2 in khtml::RenderBlock::paintObject (this=0x847571c, pI=@0xbfe2e444, _tx=30, _ty=158, shouldPaintOutline=true) at render_block.cpp:1629 #16 0xb611a33f in khtml::RenderBlock::paint (this=0x847571c, pI=@0xbfe2e444, _tx=30, _ty=158) at render_block.cpp:1596 #17 0xb61189b2 in khtml::RenderBlock::paintObject (this=0x847569c, pI=@0xbfe2e444, _tx=30, _ty=158, shouldPaintOutline=true) at render_block.cpp:1629 #18 0xb611a33f in khtml::RenderBlock::paint (this=0x847569c, pI=@0xbfe2e444, _tx=30, _ty=158) at render_block.cpp:1596 #19 0xb61189b2 in khtml::RenderBlock::paintObject (this=0x8474a4c, pI=@0xbfe2e444, _tx=0, _ty=11, shouldPaintOutline=true) at render_block.cpp:1629 #20 0xb611a33f in khtml::RenderBlock::paint (this=0x8474a4c, pI=@0xbfe2e444, _tx=0, _ty=11) at render_block.cpp:1596 #21 0xb61189b2 in khtml::RenderBlock::paintObject (this=0x8474968, pI=@0xbfe2e444, _tx=0, _ty=0, shouldPaintOutline=true) at render_block.cpp:1629 #22 0xb611a33f in khtml::RenderBlock::paint (this=0x8474968, pI=@0xbfe2e444, _tx=0, _ty=0) at render_block.cpp:1596 #23 0xb6134827 in khtml::RenderLayer::paintLayer (this=0x84749e8, rootLayer=0x8474904, p=0x856a2e0, paintDirtyRect=@0xbfe2e69c, selectionOnly=false) at render_layer.cpp:898 #24 0xb6134562 in khtml::RenderLayer::paintLayer (this=0x8474904, rootLayer=0x8474904, p=0x856a2e0, paintDirtyRect=@0xbfe2e69c, selectionOnly=false) at render_layer.cpp:917 #25 0xb6134943 in khtml::RenderLayer::paint (this=0x0, p=0x0, damageRect=@0x0, selectionOnly=false) at render_layer.cpp:800 #26 0xb60625ab in KHTMLView::drawContents (this=0x8569d08, p=0xbfe2e78c, ex=0, ey=48, ew=680, eh=393) at khtmlview.cpp:716 #27 0xb737c7c2 in QScrollView::drawContentsOffset () from /usr/lib/libqt-mt.so.3 #28 0xb737b0a6 in QScrollView::viewportPaintEvent () from /usr/lib/libqt-mt.so.3 #29 0xb737dfce in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3 #30 0xb603c72d in KHTMLView::eventFilter (this=0x8569d08, o=0x853f590, e=0xbfe2ee38) at khtmlview.cpp:1977 #31 0xb7244002 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3 #32 0xb7244080 in QObject::event () from /usr/lib/libqt-mt.so.3 #33 0xb72815aa in QWidget::event () from /usr/lib/libqt-mt.so.3 #34 0xb71dce56 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #35 0xb71ddbd6 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #36 0xb78a9d7d in KApplication::notify (this=0xbfe2f72c, receiver=0x853f590, event=0xbfe2ee38) at kapplication.cpp:550 #37 0xb716e157 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3 #38 0xb71a8e0a in QWidget::repaint () from /usr/lib/libqt-mt.so.3 #39 0xb737c637 in QScrollView::repaintContents () from /usr/lib/libqt-mt.so.3 #40 0xb737c6b5 in QScrollView::repaintContents () from /usr/lib/libqt-mt.so.3 #41 0xb6061557 in KHTMLView::timerEvent (this=0x8569d08, e=0x0) at khtmlview.cpp:3479 #42 0xb72440d8 in QObject::event () from /usr/lib/libqt-mt.so.3 #43 0xb72815aa in QWidget::event () from /usr/lib/libqt-mt.so.3 #44 0xb71dce56 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #45 0xb71ddbd6 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #46 0xb78a9d7d in KApplication::notify (this=0xbfe2f72c, receiver=0x8569d08, event=0xbfe2f3c8) at kapplication.cpp:550 #47 0xb716e157 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3 #48 0xb71ce843 in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3 #49 0xb7181f67 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #50 0xb71f5947 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #51 0xb71f586a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #52 0xb71db965 in QApplication::exec () from /usr/lib/libqt-mt.so.3 #53 0xb6866a51 in kdemain () from /usr/lib/libkdeinit_konqueror.so #54 0xb7f0d4f4 in kdeinitmain () from /usr/lib/kde3/konqueror.so #55 0x0804e063 in launch (argc=2, _name=0x8084df4 "konqueror", args=0x8084e08 "\001", cwd=0x0, envc=1, envs=0x8084e19 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x0) at kinit.cpp:639 #56 0x0804e705 in handle_launcher_request (sock=8) at kinit.cpp:1205 #57 0x0804ec8d in handle_requests (waitForPid=0) at kinit.cpp:1406 #58 0x0804fd53 in main (argc=2, argv=0xbfe30264, envp=0x0) at kinit.cpp:1850 #59 0xb7c908b8 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6 #60 0x0804b811 in _start () at ../sysdeps/i386/elf/start.S:119 Confirmed, 3.5.5 Double-delete due to focusNextPrevChild --- there is a dupe someplace... deref(0x872aa80): width get count is 0/[ 0: /opt/kde3.4/lib/libkdecore.so.4(_Z11kdBacktracei+0x38) [0xb75b22b8] 1: /opt/kde3.4/lib/libkdecore.so.4(_Z11kdBacktracev+0x2a) [0xb75b255a] 2: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidget5derefEv+0x3b) [0xb60e5b9b] 3: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidget6detachEv+0xaf) [0xb60e861f] 4: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM8NodeImpl6detachEv+0x2c) [0xb603e01c] 5: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x4b) [0xb603e42b] 6: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 7: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 8: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 9: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 10: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 11: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 12: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 13: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 14: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 15: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 16: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 17: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 18: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 19: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 20: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 21: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl11removeChildEPNS_8NodeImplERi+0x9a) [0xb60424ba] 22: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM4Node11removeChildERKS0_+0x62) [0xb61db1e2] 23: /opt/kde3.4/lib/libkhtml.so.4(_ZN3KJS16DOMNodeProtoFunc7tryCallEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0xaaa) [0xb6158cca] 24: /opt/kde3.4/lib/libkhtml.so.4(_ZN3KJS11DOMFunction4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x44) [0xb6149464] 25: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 26: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 27: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 28: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x260) [0xb5dcd310] 29: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 30: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 31: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 32: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 33: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 34: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 35: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x260) [0xb5dcd310] 36: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 37: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 38: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 39: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 40: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS20FunctionProtoFuncImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x900) [0xb5de26a0] 41: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 42: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 43: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS10ReturnNode7executeEPNS_9ExecStateE+0x160) [0xb5dd2e20] 44: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x10f) [0xb5dcd1bf] 45: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 46: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 47: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 48: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 49: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 50: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 51: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x10f) [0xb5dcd1bf] 52: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 53: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 54: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 55: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 56: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 57: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 58: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6IfNode7executeEPNS_9ExecStateE+0x1ae) [0xb5dcfd4e] 59: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x260) [0xb5dcd310] 60: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 61: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 62: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 63: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 64: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 65: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 66: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x260) [0xb5dcd310] 67: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 68: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6IfNode7executeEPNS_9ExecStateE+0x1ae) [0xb5dcfd4e] 69: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x10f) [0xb5dcd1bf] 70: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 71: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6IfNode7executeEPNS_9ExecStateE+0x1ae) [0xb5dcfd4e] 72: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x10f) [0xb5dcd1bf] 73: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 74: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 75: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 76: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 77: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS20FunctionProtoFuncImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x900) [0xb5de26a0] 78: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 79: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 80: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS10ReturnNode7executeEPNS_9ExecStateE+0x160) [0xb5dd2e20] 81: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x10f) [0xb5dcd1bf] 82: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 83: /opt/kde3.4/lib/libkjs. deref(0x872aa80): width get count is 0/[ 0: /opt/kde3.4/lib/libkdecore.so.4(_Z11kdBacktracei+0x38) [0xb75b22b8] 1: /opt/kde3.4/lib/libkdecore.so.4(_Z11kdBacktracev+0x2a) [0xb75b255a] 2: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidget5derefEv+0x3b) [0xb60e5b9b] 3: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidget6detachEv+0xaf) [0xb60e861f] 4: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM8NodeImpl6detachEv+0x2c) [0xb603e01c] 5: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x4b) [0xb603e42b] 6: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 7: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 8: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 9: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 10: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 11: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 12: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 13: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 14: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 15: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 16: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 17: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 18: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 19: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 20: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 21: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0xa0) [0xb6047320] 22: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM15HTMLElementImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0x29) [0xb606f779] 23: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0x18f) [0xb604740f] 24: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM15HTMLElementImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0x29) [0xb606f779] 25: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0x18f) [0xb604740f] 26: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM15HTMLElementImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0x29) [0xb606f779] 27: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12DocumentImpl11recalcStyleENS_8NodeImpl11StyleChangeE+0x2b2) [0xb60322b2] 28: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12DocumentImpl15updateRenderingEv+0x39) [0xb602d269] 29: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12DocumentImpl24updateDocumentsRenderingEv+0x4c) [0xb6031fdc] 30: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM8NodeImpl20dispatchGenericEventEPNS_9EventImplERi+0x2ec) [0xb6042eac] 31: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM8NodeImpl13dispatchEventEPNS_9EventImplERib+0x5c) [0xb604198c] 32: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM8NodeImpl17dispatchHTMLEventEibb+0x83) [0xb60434d3] 33: /opt/kde3.4/lib/libkhtml.so.4(_ZN9KHTMLView18slotScrollBarMovedEv+0x136) [0xb5fd14e6] 34: /opt/kde3.4/lib/libkhtml.so.4(_ZN9KHTMLView9qt_invokeEiP8QUObject+0x58) [0xb5fd1548] 35: /opt/kde3.4/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEP15QConnectionListP8QUObject+0x8d) [0xb70785e7] 36: /opt/kde3.4/lib/libqt-mt.so.3(_ZN11QScrollView14contentsMovingEii+0x8c) [0xb72f6fa4] 37: /opt/kde3.4/lib/libqt-mt.so.3(_ZN11QScrollView12moveContentsEii+0xe7) [0xb71466a9] 38: /opt/kde3.4/lib/libqt-mt.so.3(_ZN11QScrollView14setContentsPosEii+0x4a) [0xb71467f2] 39: /opt/kde3.4/lib/libqt-mt.so.3(_ZN11QScrollView8scrollByEii+0x31) [0xb714493d] 40: /opt/kde3.4/lib/libkhtml.so.4(_ZN9KHTMLView8scrollToERK5QRect+0x369) [0xb5fc4be9] 41: /opt/kde3.4/lib/libkhtml.so.4(_ZN9KHTMLView17focusNextPrevNodeEb+0x690) [0xb5fca5c0] 42: /opt/kde3.4/lib/libkhtml.so.4(_ZN9KHTMLView18focusNextPrevChildEb+0x43) [0xb5fcb183] 43: /opt/kde3.4/lib/libqt-mt.so.3(_ZN7QWidget18focusNextPrevChildEb+0x4f) [0xb70a0a7d] 44: /opt/kde3.4/lib/libqt-mt.so.3(_ZN7QWidget18focusNextPrevChildEb+0x4f) [0xb70a0a7d] 45: /opt/kde3.4/lib/libqt-mt.so.3(_ZN7QWidget18focusNextPrevChildEb+0x4f) [0xb70a0a7d] 46: /opt/kde3.4/lib/libqt-mt.so.3(_ZN7QWidget4hideEv+0x91) [0xb70a0e49] 47: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidgetD2Ev+0x105) [0xb60e7d25] 48: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml17RenderFormElementD2Ev+0x31) [0xb60f2ff1] 49: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderButtonD2Ev+0x31) [0xb608d491] 50: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml18RenderSubmitButtonD2Ev+0x31) [0xb608d4d1] 51: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml16RenderPushButtonD0Ev+0x35) [0xb608d525] 52: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderObject11arenaDeleteEPNS_11RenderArenaEPv+0x38) [0xb60b4658] 53: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderObject11arenaDeleteEPNS_11RenderArenaE+0x36) [0xb60b46b6] 54: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidget5derefEv+0xa7) [0xb60e5c07] 55: /opt/kde3.4/lib/libkhtml.so.4(_ZN5khtml12RenderWidget6detachEv+0xaf) [0xb60e861f] 56: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM8NodeImpl6detachEv+0x2c) [0xb603e01c] 57: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x4b) [0xb603e42b] 58: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 59: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 60: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 61: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 62: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 63: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 64: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 65: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 66: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 67: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 68: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 69: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 70: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 71: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl6detachEv+0x35) [0xb603e415] 72: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM11ElementImpl6detachEv+0x3e) [0xb60476de] 73: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM12NodeBaseImpl11removeChildEPNS_8NodeImplERi+0x9a) [0xb60424ba] 74: /opt/kde3.4/lib/libkhtml.so.4(_ZN3DOM4Node11removeChildERKS0_+0x62) [0xb61db1e2] 75: /opt/kde3.4/lib/libkhtml.so.4(_ZN3KJS16DOMNodeProtoFunc7tryCallEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0xaaa) [0xb6158cca] 76: /opt/kde3.4/lib/libkhtml.so.4(_ZN3KJS11DOMFunction4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x44) [0xb6149464] 77: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 78: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 79: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 80: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x260) [0xb5dcd310] 81: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [0xb5dcb2d2] 82: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS19DeclaredFunctionImp7executeEPNS_9ExecStateE+0x3c) [0xb5dfdf9c] 83: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS11FunctionImp4callEPNS_9ExecStateERNS_6ObjectERKNS_4ListE+0x384) [0xb5dfe564] 84: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS6Object4callEPNS_9ExecStateERS0_RKNS_4ListE+0xfc) [0xb5e04f8c] 85: /opt/kde3.4/lib/libkjs.so.1(_ZNK3KJS16FunctionCallNode8evaluateEPNS_9ExecStateE+0x392) [0xb5dd3f62] 86: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS17ExprStatementNode7executeEPNS_9ExecStateE+0x8f) [0xb5dcfe5f] 87: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS18SourceElementsNode7executeEPNS_9ExecStateE+0x260) [0xb5dcd310] 88: /opt/kde3.4/lib/libkjs.so.1(_ZN3KJS9BlockNode7executeEPNS_9ExecStateE+0x82) [ SVN commit 599857 by orlovich: Prevent crash-inducing recursion of detach due to blur events happening when widgets with focus get destroyed, by quietly shifting the focus to the view...(#135384, probably #124342 --- best I can tell given imperfect information); also affects some bugs which I separately closed as non-reproducible, but which involved such a sequence Also fixes freezing in #92497, as we no longer try to find something to focus when nothing is focusable.. BUG:92497 BUG:124342 BUG:135384 M +9 -0 khtmlview.cpp M +14 -3 xml/dom_docimpl.cpp --- branches/KDE/3.5/kdelibs/khtml/khtmlview.cpp #599856:599857 @@ -2031,6 +2031,15 @@ DocumentImpl *doc = m_part->xmlDocImpl(); NodeImpl *oldFocusNode = doc->focusNode(); + + // See whether we're in the middle of detach. If so, we want to + // clear focus... The document code will be careful to not + // emit events in that case.. + if (oldFocusNode && oldFocusNode->renderer() && + !oldFocusNode->renderer()->parent()) { + doc->setFocusNode(0); + return true; + } #if 1 // If the user has scrolled the document, then instead of picking --- branches/KDE/3.5/kdelibs/khtml/xml/dom_docimpl.cpp #599856:599857 @@ -2227,6 +2227,13 @@ { // don't process focus changes while detaching if( !m_render ) return; + + // We do want to blur if a widget is being detached, + // but we don't want to emit events since that + // triggers updateLayout() and may recurse detach() + bool widgetDetach = m_focusNode && m_focusNode != this && + m_focusNode->renderer() && !m_focusNode->renderer()->parent(); + // Make sure newFocusNode is actually in this document if (newFocusNode && (newFocusNode->getDocument() != this)) return; @@ -2241,8 +2248,11 @@ oldFocusNode->setActive(false); oldFocusNode->setFocus(false); - oldFocusNode->dispatchHTMLEvent(EventImpl::BLUR_EVENT,false,false); - oldFocusNode->dispatchUIEvent(EventImpl::DOMFOCUSOUT_EVENT); + + if (!widgetDetach) { + oldFocusNode->dispatchHTMLEvent(EventImpl::BLUR_EVENT,false,false); + oldFocusNode->dispatchUIEvent(EventImpl::DOMFOCUSOUT_EVENT); + } if ((oldFocusNode == this) && oldFocusNode->hasOneRef()) { oldFocusNode->deref(); // deletes this return; @@ -2278,7 +2288,8 @@ view()->setFocus(); } - updateRendering(); + if (!widgetDetach) + updateRendering(); } } |