[konsole] [Bug 399109] Long line selection using double-click is limited by the window size

Kurt Hindenburg bugzilla_noreply at kde.org
Mon Oct 22 15:36:24 BST 2018


https://bugs.kde.org/show_bug.cgi?id=399109

Kurt Hindenburg <kurt.hindenburg at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |RESOLVED
      Latest Commit|                            |https://commits.kde.org/kon
                   |                            |sole/4e09f089f940335bdd6281
                   |                            |39e870ba99721fddfa
         Resolution|---                         |FIXED

--- Comment #5 from Kurt Hindenburg <kurt.hindenburg at gmail.com> ---
Git commit 4e09f089f940335bdd628139e870ba99721fddfa by Kurt Hindenburg, on
behalf of Pavel Khlebovich.
Committed on 22/10/2018 at 14:36.
Pushed by hindenburg into branch 'master'.

Fix double click can only select text within visible region

Summary:
This is a reimplemented 914067d14a6a27b59bba1c53cc18cb67eb9811fc (hinted by
@cfeck), plus a refactoring of TerminalDisplay::findWordStart()

findWordStart() had bounds check issues and an off-by-one for the case when the
acquired region was more than two screens down.

TerminalDisplay::findWordEnd() is very similarly implemented, but I haven't
found a case where it fails, so I haven't touched it.

Since 914067d14a6a27b59bba1c53cc18cb67eb9811fc caused a revert, I've tested the
changes thoroughly (the cases are in the Test Plan below).

Test Plan:
Corner cases tested (everything was run under valgrind, since I had no crashes
without it pre - f98c752bce9fa11f1e81cf6ef8c02b3c3861c341):

- At the end of the word, current Konsole doesn't select "@" at the end of the
word when double-clicking, but selects it when the mouse is moved. With the
introduced changes the behavior is to consistently ignore the last "@"
character.
- When 10K lines buffer is underfilled, dragged doubleclick+scrolled up by
dragging the mouse above the terminal (this generates valgrind warnings on
5a31b4af6ddaba36866d092cb169faec3ca2cef1 that might have caused Konsole to
crash)
- Same with overfilled 10K lines buffer.
- With decreased window size and some chars hidden, dblclick and drag up and
down to the end of the buffer. The ends of the string are trimmed (like in
current console), the rest of the string is properly selected.
- With increased window size and padded chars, prod the buffer limits. Long
lines are broken into separate lines -- no difference vs current Konsole.

Reviewers: #konsole, hindenburg, cfeck

Reviewed By: #konsole, hindenburg

Subscribers: ngraham, cfeck, konsole-devel

Tags: #konsole

Differential Revision: https://phabricator.kde.org/D16159

M  +52   -99   src/TerminalDisplay.cpp

https://commits.kde.org/konsole/4e09f089f940335bdd628139e870ba99721fddfa

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list