Bug 183967 - crash upon deleting word in text edit
Summary: crash upon deleting word in text edit
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: unspecified
Platform: Compiled Sources Unspecified
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-10 23:57 UTC by Oswald Buddenhagen
Modified: 2009-04-19 10:01 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Correctly forward delete words including space (434 bytes, patch)
2009-03-28 17:58 UTC, Christoph Feck
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oswald Buddenhagen 2009-02-10 23:57:17 UTC
Version:            (using Devel)
Installed from:    Compiled sources

tried to ctrl-del-ete a word in exactly this textedit i'm just typing into ... and boom.

Application: Konqueror (konqueror), signal SIGSEGV
[KCrash Handler]
#6  0xa6c22d08 in QString::size (this=0x38) at ../../include/QtCore/../../../../trunk/qt-copy/src/corelib/tools/qstring.h:99
#7  0xa6c237e6 in QString::at (this=0x38, i=317) at ../../include/QtCore/../../../../trunk/qt-copy/src/corelib/tools/qstring.h:680
#8  0xa6e3671a in QTextEngine::atWordSeparator (this=0xb747f00, position=317) at /home/ossi/src/kde/trunk/qt-copy/src/gui/text/qtextengine.cpp:2163
#9  0xa6e88b57 in QTextCursorPrivate::movePosition (this=0xadca9a8, op=QTextCursor::EndOfWord, mode=QTextCursor::KeepAnchor) at /home/ossi/src/kde/trunk/qt-copy/src/gui/text/qtextcursor.cpp:484
#10 0xa6e8abf5 in QTextCursor::movePosition (this=0xaf911f4c, op=QTextCursor::EndOfWord, mode=QTextCursor::KeepAnchor, n=1) at /home/ossi/src/kde/trunk/qt-copy/src/gui/text/qtextcursor.cpp:1187
#11 0xa7a58354 in KTextEdit::deleteWordForward (this=0xbf5b6b8) at /home/ossi/src/kde/trunk/KDE/kdelibs/kdeui/widgets/ktextedit.cpp:388
#12 0xa7a58980 in KTextEdit::Private::handleShortcut (this=0xb8e0600, event=0xb6d6948) at /home/ossi/src/kde/trunk/KDE/kdelibs/kdeui/widgets/ktextedit.cpp:317
#13 0xa7a58e1f in KTextEdit::keyPressEvent (this=0xbf5b6b8, event=0xb6d6948) at /home/ossi/src/kde/trunk/KDE/kdelibs/kdeui/widgets/ktextedit.cpp:925
#14 0xa42e08b2 in khtml::TextAreaWidget::keyPressEvent (this=0xbf5b6b8, e=0xb6d6948) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/rendering/render_form.cpp:1954
#15 0xa42d868c in khtml::RenderWidget::EventPropagator::sendEvent (this=0xbf5b6b8, e=0xb6d6948) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/rendering/render_replaced.cpp:877
#16 0xa42d9344 in khtml::RenderWidget::handleEvent (this=0xbe20854, ev=@0x9710a18) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/rendering/render_replaced.cpp:1131
#17 0xa424fdcf in DOM::HTMLGenericFormElementImpl::defaultEventHandler (this=0x97b4028, evt=0x9710a18) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/html/html_formimpl.cpp:1027
#18 0xa41ee500 in DOM::NodeImpl::dispatchGenericEvent (this=0x97b4028, evt=0x9710a18) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/xml/dom_nodeimpl.cpp:524
#19 0xa41eccb9 in DOM::NodeImpl::dispatchEvent (this=0x97b4028, evt=0x9710a18, exceptioncode=@0xaf912318, tempEvent=true) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/xml/dom_nodeimpl.cpp:451
#20 0xa41ed4e9 in DOM::NodeImpl::dispatchKeyEvent (this=0x97b4028, key=0xaf912954, keypress=true) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/xml/dom_nodeimpl.cpp:690
#21 0xa415b592 in KHTMLView::dispatchKeyEventHelper (this=0x9b6c870, _ke=0xaf912954, keypress=<value optimized out>) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/khtmlview.cpp:1701
#22 0xa415b7be in KHTMLView::dispatchKeyEvent (this=0x9b6c870, _ke=0xaf912954) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/khtmlview.cpp:1657
#23 0xa4162385 in KHTMLView::keyPressEvent (this=0x9b6c870, _ke=0xaf912954) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/khtmlview.cpp:1778
#24 0xa415e468 in KHTMLView::eventFilter (this=0x9b6c870, o=0xbf5b6b8, e=0xaf912954) at /home/ossi/src/kde/trunk/KDE/kdelibs/khtml/khtmlview.cpp:2316
#25 0xa745a8f7 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x934c790, receiver=0xbf5b6b8, event=0xaf912954)
    at /home/ossi/src/kde/trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:710
#26 0xa6c25e85 in QApplicationPrivate::notify_helper (this=0x934c790, receiver=0xbf5b6b8, e=0xaf912954) at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qapplication.cpp:4047
#27 0xa6c26304 in QApplication::notify (this=0xaf913538, receiver=0xbf5b6b8, e=0xaf912954) at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qapplication.cpp:3657
#28 0xa7957913 in KApplication::notify (this=0xaf913538, receiver=0xbf5b6b8, event=0xaf912954) at /home/ossi/src/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#29 0xa745c2dd in QCoreApplication::notifyInternal (this=0xaf913538, receiver=0xbf5b6b8, event=0xaf912954) at /home/ossi/src/kde/trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:590
#30 0xa6c2fbde in QCoreApplication::sendSpontaneousEvent (receiver=0xbf5b6b8, event=0x9f6bfa8) at ../../include/QtCore/../../../../trunk/qt-copy/src/corelib/kernel/qcoreapplication.h:211
#31 0xa6c25ae5 in qt_sendSpontaneousEvent (receiver=0xbf5b6b8, event=0xaf912954) at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qapplication.cpp:4971
#32 0xa6cb5015 in QKeyMapper::sendKeyEvent (keyWidget=0xbf5b6b8, grab=false, type=QEvent::KeyPress, code=16777223, modifiers={i = -1349440444}, text=@0xaf912c78, autorepeat=<value optimized out>, 
    count=1, nativeScanCode=107, nativeVirtualKey=65535, nativeModifiers=4) at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qkeymapper_x11.cpp:1669
#33 0xa6cb5fc0 in QKeyMapperPrivate::translateKeyEvent (this=0x93769f8, keyWidget=0xbf5b6b8, event=0xaf913048, grab=<value optimized out>)
    at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qkeymapper_x11.cpp:1640
#34 0xa6c8fd50 in QApplication::x11ProcessEvent (this=0xaf913538, event=0xaf913048) at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qapplication_x11.cpp:3425
#35 0xa6cb7fa8 in x11EventSourceDispatch (s=0x9357b20, callback=0, user_data=0x0) at /home/ossi/src/kde/trunk/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:141
#36 0xa653e1b8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
Comment 1 Dario Andres 2009-02-12 00:04:28 UTC
Seems like a bug in KTextEdit , reassigning to KDEUI
Comment 2 Christoph Feck 2009-03-28 16:00:52 UTC
This looks like a Qt bug, as the code in KTextEditor is fine (it merely calls movePosition(), and that causes Qt to do something evil.)

Could you retry with Qt 4.5? There are some fixed bugs, e.g. http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&id=245285
Comment 3 Oswald Buddenhagen 2009-03-28 16:57:02 UTC
well, now it doesn't crash, but it fails to delete the whitespace after the word, which is also somewhat annoying. a plain qt app does not expose this behavior.
Comment 4 Christoph Feck 2009-03-28 17:58:54 UTC
Created attachment 32451 [details]
Correctly forward delete words including space

Not sure if this shouldn't be changed also in word-backward
Comment 5 Oswald Buddenhagen 2009-03-28 18:09:05 UTC
the word-backward behavior is consistent with qt and ctrl-left, so there is nothing to fix as far as i'm concerned.
Comment 6 Christoph Feck 2009-04-10 05:33:00 UTC
SVN commit 951743 by cfeck:

Correctly forward delete words including space

CCBUG: 183967


 M  +1 -1      ktextedit.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=951743