| Summary: | Konqueror crashes when closing a full screen javascript "Prototype Window Class" | ||
|---|---|---|---|
| Product: | [Applications] konqueror | Reporter: | Rutger Claes <rgc> |
| Component: | khtml | Assignee: | Konqueror Bugs <konqueror-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | maksim |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented 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();
}
}
|