Bug 333885

Summary: rendering/URL highlight: Highlight stays behind during scroll
Product: [Applications] konsole Reporter: Dave Gilbert <gilbertd+kde>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED UNMAINTAINED    
Severity: normal CC: a.samirh78, rdieter
Priority: NOR    
Version: 2.13   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: A hacky patch that seems to work

Description Dave Gilbert 2014-04-25 20:33:10 UTC
I can repeatably get the highlight-underline under a URL to stay behind even after a refresh when combined with a scroll.

Reproducible: Always

Steps to Reproduce:
1. Start a new konsole with a shell in it
2. Hit return a few times until you get to about half way down the konsole
3. echo http://www.kde.org
4. Hit return a few more times until the line with the URL scrolls up a bit
5. Roll the scroll wheel up a little to cause it to scroll up - keeping the URL on screen
6. hover the mouse over the url so it's highlighted
7. Hit return (causing the scrollbar to scrolldown)
Actual Results:  
A horizontal line of the same with as the URL is left on the konsole even though the URL has scrolled up.


Expected Results:  
The line follows the URL and hence disappears off the top.
Comment 1 Rex Dieter 2014-04-27 23:09:13 UTC
I cannot reproduce this using konsole-4.13.0
Comment 2 Rex Dieter 2014-04-27 23:11:10 UTC
Sorry, didn't follow *all* the steps, the important part is step 5, you have to be scrolled up a bit to trigger it.
Comment 3 Dave Gilbert 2014-04-28 00:51:35 UTC
I've added a bit of debug, but still finding my way around konsole's data structures; when I hit return I see calls to updateImage that then calls scrollImage and paintFilters.   PaintFilters is then drawing the line at the wrong location, it's 'spot' it's getting seem to correspond to where it ends up drawing the line (i.e. the wrong place).

I don't see any calls to processFilters or scrollScreenWindow when I hit return.
Comment 4 Dave Gilbert 2014-05-03 01:29:09 UTC
Created attachment 86421 [details]
A hacky patch that seems to work

This patch seems to work, but it's just the result of a bit of hacking around without really understanding konsole's data structures.

Do the filters really need to be updated on every update?  If not exactly which updates need to trigger it?
(I was going to make this only happen when the scroll amount was non-0 which is why I put the flag set where it is, but I think always doing it is fixing more cases).
Comment 5 Ahmad Samir 2018-02-14 19:13:18 UTC
The issue doesn't seem to happen any more with konsole5 and konsole4/kde4 is no longer maintained.