| Summary: | label-input infinite recursion | ||
|---|---|---|---|
| Product: | [Applications] konqueror | Reporter: | Florent Bayle <florent> |
| Component: | khtml renderer | Assignee: | Konqueror Bugs <konqueror-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | maksim, rapsys |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Debian testing | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
test case
Possible patch |
||
It doesn't crash here. Can you provide the crsah backtrace? Thiago: took a couple of clicks for me. Nice infinite loop between <label> and an input element. cute.
#0 0xb63ca6a9 in khtml::RenderBlock::isPointInScrollbar (this=0x83cf714, _x=-2000, _y=-2000, _tx=10, _ty=26)
at /home/maksim/kde3/kdelibs/khtml/rendering/render_block.cpp:2342
#1 0xb63cfe17 in khtml::RenderBlock::nodeAtPoint (this=0x83cf714, info=@0xbf474508, _x=-2000, _y=-2000, _tx=10, _ty=10,
hitTestAction=HitTestAll, inBox=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_block.cpp:2378
#2 0xb63dcc6c in khtml::RenderObject::nodeAtPoint (this=0x83cf48c, info=@0xbf474508, _x=-2000, _y=-2000, _tx=10, _ty=10,
hitTestAction=HitTestAll, inside=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_object.cpp:1660
#3 0xb63cfe68 in khtml::RenderBlock::nodeAtPoint (this=0x83cf48c, info=@0xbf474508, _x=-2000, _y=-2000, _tx=10, _ty=10,
hitTestAction=HitTestAll, inBox=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_block.cpp:2396
#4 0xb63dcc6c in khtml::RenderObject::nodeAtPoint (this=0x83cf414, info=@0xbf474508, _x=-2000, _y=-2000, _tx=10, _ty=10,
hitTestAction=HitTestAll, inside=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_object.cpp:1660
#5 0xb63cfe68 in khtml::RenderBlock::nodeAtPoint (this=0x83cf414, info=@0xbf474508, _x=-2000, _y=-2000, _tx=10, _ty=10,
hitTestAction=HitTestAll, inBox=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_block.cpp:2396
#6 0xb63dcc6c in khtml::RenderObject::nodeAtPoint (this=0x83cf39c, info=@0xbf474508, _x=-2000, _y=-2000, _tx=0, _ty=0,
hitTestAction=HitTestAll, inside=true) at /home/maksim/kde3/kdelibs/khtml/rendering/render_object.cpp:1660
#7 0xb63cfe68 in khtml::RenderBlock::nodeAtPoint (this=0x83cf39c, info=@0xbf474508, _x=-2000, _y=-2000, _tx=0, _ty=0,
hitTestAction=HitTestAll, inBox=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_block.cpp:2396
#8 0xb63dcc6c in khtml::RenderObject::nodeAtPoint (this=0x83cf2c8, info=@0xbf474508, _x=-2000, _y=-2000, _tx=0, _ty=0,
hitTestAction=HitTestChildrenOnly, inside=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_object.cpp:1660
#9 0xb63cfe68 in khtml::RenderBlock::nodeAtPoint (this=0x83cf2c8, info=@0xbf474508, _x=-2000, _y=-2000, _tx=0, _ty=0,
hitTestAction=HitTestChildrenOnly, inBox=false) at /home/maksim/kde3/kdelibs/khtml/rendering/render_block.cpp:2396
#10 0xb63f718d in khtml::RenderLayer::nodeAtPointForLayer (this=0x83cf340, rootLayer=0x83cf26c, info=@0xbf474508,
xMousePos=-2000, yMousePos=-2000, hitTestRect=@0xbf4744b8)
at /home/maksim/kde3/kdelibs/khtml/rendering/render_layer.cpp:935
#11 0xb63f703b in khtml::RenderLayer::nodeAtPointForLayer (this=0x83cf26c, rootLayer=0x83cf26c, info=@0xbf474508,
xMousePos=-2000, yMousePos=-2000, hitTestRect=@0xbf4744b8)
at /home/maksim/kde3/kdelibs/khtml/rendering/render_layer.cpp:927
#12 0xb63f72b8 in khtml::RenderLayer::nodeAtPoint (this=0x83cf26c, info=@0xbf474508, x=-2000, y=-2000)
at /home/maksim/kde3/kdelibs/khtml/rendering/render_layer.cpp:889
#13 0xb638a90f in DOM::MouseEventImpl::computeLayerPos (this=0x8ac9ef0)
at /home/maksim/kde3/kdelibs/khtml/xml/dom2_eventsimpl.cpp:407
#14 0xb638c23e in MouseEventImpl (this=0x8ac9ef0, _id=DOM::EventImpl::MOUSEUP_EVENT, canBubbleArg=true,
cancelableArg=true, viewArg=0x83e9278, detailArg=1, screenXArg=-2000, screenYArg=-2000, clientXArg=-2000,
clientYArg=-2000, pageXArg=-2000, pageYArg=-2000, ctrlKeyArg=false, altKeyArg=false, shiftKeyArg=false,
metaKeyArg=false, buttonArg=0, relatedTargetArg=0x0, qe=0xfffff830, isDoubleClick=false)
at /home/maksim/kde3/kdelibs/khtml/xml/dom2_eventsimpl.cpp:388
---Type <return> to continue, or q <return> to quit---
#15 0xb63768ee in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47462c, overrideId=0, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:600
#16 0xb63ad6d8 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1334
#17 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9dd8)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#18 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9dd8)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#19 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9dd8, exceptioncode=@0xbf474784, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#20 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf4747cc, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#21 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#22 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9cc0)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#23 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9cc0)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#24 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9cc0, exceptioncode=@0xbf474924, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#25 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47496c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#26 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#27 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9ba8)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#28 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9ba8)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#29 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9ba8, exceptioncode=@0xbf474ac4, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#30 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf474b0c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#31 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#32 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9a90)
---Type <return> to continue, or q <return> to quit---
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#33 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9a90)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#34 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9a90, exceptioncode=@0xbf474c64, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#35 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf474cac, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#36 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#37 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9978)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#38 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9978)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#39 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9978, exceptioncode=@0xbf474e04, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#40 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf474e4c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#41 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#42 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9860)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#43 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9860)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#44 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9860, exceptioncode=@0xbf474fa4, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#45 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf474fec, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#46 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#47 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9748)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#48 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9748)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#49 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9748, exceptioncode=@0xbf475144, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
---Type <return> to continue, or q <return> to quit---
#50 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47518c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#51 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#52 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9630)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#53 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9630)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#54 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9630, exceptioncode=@0xbf4752e4, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#55 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47532c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#56 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#57 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9518)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#58 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9518)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#59 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9518, exceptioncode=@0xbf475484, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#60 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf4754cc, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#61 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#62 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac9400)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#63 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac9400)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#64 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac9400, exceptioncode=@0xbf475624, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#65 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47566c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#66 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#67 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac92e8)
---Type <return> to continue, or q <return> to quit---
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#68 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac92e8)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#69 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac92e8, exceptioncode=@0xbf4757c4, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#70 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47580c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#71 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#72 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac91d0)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#73 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac91d0)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#74 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac91d0, exceptioncode=@0xbf475964, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#75 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf4759ac, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#76 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#77 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac90b8)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#78 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac90b8)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#79 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac90b8, exceptioncode=@0xbf475b04, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#80 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf475b4c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#81 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#82 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac8fa0)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#83 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac8fa0)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#84 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac8fa0, exceptioncode=@0xbf475ca4, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
---Type <return> to continue, or q <return> to quit---
#85 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf475cec, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#86 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#87 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac8e88)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#88 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac8e88)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#89 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac8e88, exceptioncode=@0xbf475e44, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#90 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf475e8c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#91 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#92 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac8d70)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#93 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac8d70)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#94 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac8d70, exceptioncode=@0xbf475fe4, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#95 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf47602c, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#96 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#97 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac8c58)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1824
#98 0xb6376372 in DOM::NodeImpl::dispatchGenericEvent (this=0x8408a60, evt=0x8ac8c58)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:468
#99 0xb6376732 in DOM::NodeImpl::dispatchEvent (this=0x8408a60, evt=0x8ac8c58, exceptioncode=@0xbf476184, tempEvent=true)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:412
#100 0xb6376911 in DOM::NodeImpl::dispatchMouseEvent (this=0x8408a60, _mouse=0xbf4761cc, overrideId=4, overrideDetail=1)
at /home/maksim/kde3/kdelibs/khtml/xml/dom_nodeimpl.cpp:602
#101 0xb63ad6e3 in DOM::HTMLInputElementImpl::click (this=0x8408a60)
at /home/maksim/kde3/kdelibs/khtml/html/html_formimpl.cpp:1335
#102 0xb63ae833 in DOM::HTMLLabelElementImpl::defaultEventHandler (this=0x84088b8, evt=0x8ac8b40)
Did you have to wait for the infinite loop to end? :-) Created attachment 16657 [details]
test case
Clickable test case
Tiago, if I don't run it in gdb, it completely crash after some time (recursion bug max exeed or something like that) If I run it in gdb, gdb accept to trace it, but end up with using |more on the output because of the huge number of trace call to display. ps : it's not like other time, this time the popup do you want to allow this javascript to continue didn't appear at all... (if it happer I whould have try to let it run...) Created attachment 16658 [details]
Possible patch
This patch tries to solve the problem, but I need to make sure clicking on
LABEL still does what it's supposed to do in all other cases.
*** Bug 128830 has been marked as a duplicate of this bug. *** I see two possibility for clicking on label/input/etc : - submit the form in GET/POST - use xmlhttprpc(AJAX) request to send the data and rewrite the page instead of reloading everything of the page (with a return false; in javascript) Else I don't know what you may use on it... SVN commit 563767 by carewolf:
Prevent infinite recursing by not calling click from a click-eventhandler.
BUG: 116092
M +1 -1 html_formimpl.cpp
--- branches/KDE/3.5/kdelibs/khtml/html/html_formimpl.cpp #563766:563767
@@ -1915,7 +1915,7 @@
if (formNode) {
getDocument()->setFocusNode(formNode);
if (formNode->id()==ID_INPUT)
- static_cast<DOM::HTMLInputElementImpl*>(formNode)->click();
+ static_cast<DOM::HTMLInputElementImpl*>(formNode)->defaultEventHandler(evt);
evt->setDefaultHandled();
}
}
SVN commit 567892 by carewolf:
Correct the patch for #166092 so it doesn't regress #59489
CCBUG:116092
BUG:59489
M +2 -2 html_formimpl.cpp
--- branches/KDE/3.5/kdelibs/khtml/html/html_formimpl.cpp #567891:567892
@@ -1917,10 +1917,10 @@
if (act) {
NodeImpl* const formNode=getFormElement();
- if (formNode) {
+ if (formNode && evt->target() != formNode) {
getDocument()->setFocusNode(formNode);
if (formNode->id()==ID_INPUT)
- static_cast<DOM::HTMLInputElementImpl*>(formNode)->defaultEventHandler(evt);
+ static_cast<DOM::HTMLInputElementImpl*>(formNode)->click();
evt->setDefaultHandled();
}
}
|
Version: (using KDE KDE 3.4.2) Installed from: Debian testing/unstable Packages OS: Linux Konqueror always segfault when loading the following html file and clicking on "Click here !" : <html> <head> <style type="text/css"> #form_id #p_id input { display:none; } #form_id #p_id .span_class label { display:block; } </style> </head> <body> <form method="post" id="form_id" action=""> <p id="p_id"> <span class="span_class"> <label for="input_id"> <input id="input_id"> Click here ! </input> </label> </span> </p> </form> </body> </html>