Details
-
Bug
-
Resolution: Done
-
P2: Important
-
Qt Creator 3.1.2, Qt Creator 3.2.0, Qt Creator 3.2.1, Qt Creator 3.4.0-rc1
-
None
-
Arch Linux; Kernel 3.15.2, Qt versions installed: 5.3.1 and 4.8.6.
Description
When you press CTRL and move the cursor across the editor while editing a C++-File (e.g. to follow a symbol) the whole program freezes for about 1 - 30 seconds (depending on what is hovered and what distance you moved the cursor).
This occured approximately two or three weeks ago first.
== Update 09-13-2014 ==
I was able to track down the issue:
When BaseTextEditorWidget::mouseMoveEvent receives events it ends up calling CppEditorWidget::findLinkAt (C++ Editor) which takes some time to process (on my machine and project around 40ms). If you keep moving the mouse around, new events event are generated and added to the event-queue and then handeled subsequently. This leads to very high delays if the distance you moved was quite large.
See comments for my proposed fix.
Attachments
Issue Links
- relates to
-
QTCREATORBUG-14634 Multi-second hang in editor when using Follow symbol under cursor
-
- Closed
-
For Gerrit Dashboard: QTCREATORBUG-12573 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
109906,4 | TextEditor: Caching links at cursor position. | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
121934,11 | TextEditor: Only use the last mouse position when updating links | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
126085,3 | TextEditor: Only use the last mouse position when updating links | 3.5 | qt-creator/qt-creator | Status: ABANDONED | 0 | 0 |