Bug 158523 - Drawing artifact, last line doesn't update
Summary: Drawing artifact, last line doesn't update
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
: 158514 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-02-27 23:52 UTC by John Varouhakis
Modified: 2008-03-17 18:23 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
View 1 (114.92 KB, image/png)
2008-03-04 03:35 UTC, mutlu inek
Details
View 2 (115.29 KB, image/png)
2008-03-04 03:35 UTC, mutlu inek
Details
View 3 (115.57 KB, image/png)
2008-03-04 03:35 UTC, mutlu inek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Varouhakis 2008-02-27 23:52:18 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          gcc (GCC) 4.2.3 (Debian 4.2.3-1) 
OS:                Linux

Running KDE 4.* in Debian testing/unstable compiled from recent svn trunk,
with qt-copy. The problem appeared after monday's updates, probably after 
the last update of qt-copy.

Once some output reaches the last line, it gets stuck and doesn't update
(only the last line fails to update) unless I run clear, 
do "clear scrollback and reset", or resize the window.

It's not a kwin issue though since it occurs even with no 
window manager at all.

It's a rather annoying bug, because every time I fill a screen I must clear it, 
since otherwise I can't see what I'm typing.

The problem also appears in konsolepart, in dolphin and kate.

This video might explain better the issue:
http://iovar.org/konsole.ogv (~320 kb's)

I'd happily provide any other info you might want.

Thank you.
Comment 1 John Varouhakis 2008-02-28 00:05:44 UTC
Also, I just realized, that this bug appears only when 
the scrollbar is hidden. Otherwise, everything updates
normally, which means it's not a so annoying bug.

Nevertheless it'd be nice if it get's fixed ;-).

Thanks.
Comment 2 Robert Knight 2008-02-28 00:18:00 UTC
> The problem appeared after monday's updates, probably after
> the last update of qt-copy. 

Nothing changed in Konsole so this probably is a qt-copy issue.  I cannot reproduce it myself (latest svn, with or without the scroll bar visible).  What graphics card and driver combination are you using?
Comment 3 John Varouhakis 2008-02-28 00:40:24 UTC
I'm using a nvidia geforce 6200, with the 169.09 driver
form nvidia's site, but the problem occurs just the same
with the nv driver.

>> Nothing changed in Konsole so this probably is a qt-copy issue.

I haven't noticed that Konsole didn't have any changes in the
timeframe that the problem appeared, so I guess you're right
and this bug is invalid.

Thank you for the quick response.

(new here, should I mark this as resolved?)
Comment 4 Robert Knight 2008-02-28 02:06:44 UTC
> (new here, should I mark this as resolved?) 

No.  Since the exact nature of the bug is unknown it is best to leave it open.  Please do close it if/when it gets fixed via a qt-copy update.
Comment 5 John Varouhakis 2008-02-28 09:20:29 UTC
Ok, thanks. I'll keep checking and I'll
come back on this if I notice something new.
Comment 6 Robert Knight 2008-02-28 15:35:09 UTC
*** Bug 158514 has been marked as a duplicate of this bug. ***
Comment 7 Frode M. Døving 2008-02-28 18:16:58 UTC
I do also experience the same rendering issue as described.
Software: Current kubuntu hardy, 4.1 trunk, qt-copy all compiled from sources.
Graphics: intel driver on a 945GM.

I can confirm the workaround with enabling the scrollbar.
I had to restart konsole after enabling, to make the issue go away.
Comment 8 Vincenzo Di Massa 2008-02-28 23:26:07 UTC
Ati 9600 fglrx 8.02
We are covering the whole videocard market then :-)

Vincenzo
Comment 9 Vincenzo Di Massa 2008-02-28 23:31:16 UTC
For me the bug is not affected by the scrollbar.
I tried all the scrollbar settings...
the proposed workaround does not work here :-(

I'm back to konsole from kde3 atm
Comment 10 Vincenzo Di Massa 2008-02-29 00:56:23 UTC
One more info:
Setting HistoryMode=0 makes things better for me: I can almost use the shell.

But when use programs that can scroll shell content themselves (less, vim, ...) the bug comes back.

Can you try doing, for instance
$ dmesg | less
and try scrolling down? For me the last line is not updated when scrolling down and the first one is not updated when scrolling up :-)

Vincenzo
Comment 11 John Varouhakis 2008-02-29 01:05:33 UTC
>> For me the last line is not updated when scrolling down and the
>> first one is not updated when scrolling up :-)

I get the exact same behavior. Also, as you said, it turns out that
enabling the scrollbar doesn't really fix this problem, at least
when using vim, less, screen or other self scrolling programs.
Comment 12 Dmitry Suzdalev 2008-02-29 10:52:51 UTC
Confirming this bug on my side.
Note that it appeeared first time after qt-copy was upgraded to 4.4snapshot.
I thought that it's a bug in qt so I waited.
Now qt-copy is at 4.4beta1 and bug is still there.

I also noticed that last line stops to be drawn properly after some word-wrapped line appears. Hmm. maybe that's not very clear. Example:

If the output in console consists of short lines like:

Line1
line2 blah bar foo
lldf fjjj

it's ok.

But if I run some make command which produces really long "gcc....." line which doesn't fit on one line and gets wrapped into several lines, then this bug appears.
Comment 13 Dmitry Suzdalev 2008-02-29 11:09:09 UTC
Hmmm. Seems like maybe this is not the case anymore.
I stare at the command that periodically prints short (not wrapped) line and last one never gets updated (only if I scroll up and then down to the bottom)
Comment 14 John Varouhakis 2008-03-01 00:39:17 UTC
I just compiled the last revision with the changes
in Screen.[cpp|h] and it seems that the bug is gone
completely. Vim, screen, less or work fine, scrollbar
or not.

Anyone else having similar results?
Comment 15 Robert Knight 2008-03-01 01:04:07 UTC
> I just compiled the last revision with the changes
> in Screen.[cpp|h] and it seems that the bug is gone
> completely

I turned off a scrolling optimisation which indirectly causes the problem.  I don't know exactly where the problem is yet and the optimisation is important so I'll leave the report open.
Comment 16 mutlu inek 2008-03-04 03:35:08 UTC
Created attachment 23778 [details]
View 1
Comment 17 mutlu inek 2008-03-04 03:35:32 UTC
Created attachment 23779 [details]
View 2
Comment 18 mutlu inek 2008-03-04 03:35:53 UTC
Created attachment 23780 [details]
View 3
Comment 19 mutlu inek 2008-03-04 03:37:23 UTC
Sorry for posting the attachments first. They illustrate this case:

I don't know whether the following issue is the same bug. What I am describing happened in late December (i.e. on KDE 4.0 with qt4.3) once and now again with a freshly compiled trunk (rev. 781482, that is with qt4.4). If this is not the same bug, I will open a new bug report. This is what happened:

Konsole suddenly stopped adding new lines at the bottom. Therefore, all input and output is always shown in the same last line. This happened not in the middle of some program output, but directly after hitting enter (i.e. executing a command). The scroll bar is visible. Entering new commands does not change anything. Resizing the window, however, 'solves' the problem.

Thus, in short, my problem is the opposite to the one described in this thread: ONLY the last line updates, the rest of the screen shows outdated information.
Comment 20 Robert Knight 2008-03-09 16:28:43 UTC
SVN commit 783788 by knight:

Re-enable scrolling optimisation with tweaks to get Qt to issue a repaint request for the correct

area of the terminal display widget after the content is scrolled with QWidget::scroll() :

- Set the left edge of the scrolled rect to 0 (instead of the left margin used when
drawing the text)
- Set the right edge of the scrolled rect to width() - width of scroll bar - 1.  If the
right edge of the scrolled rect touches the scroll bar then a full repaint of the widget
is triggered.

These changes are based on experimentation.  I haven't had time to look into Qt to
find out exactly what changed between Qt 4.3 and 4.4.

Update comments to reflect changes and add a mention of Qt's QT_FLUSH_PAINT repaint
monitoring facility.

CCBUG: 158523


 M  +19 -24    TerminalDisplay.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=783788
Comment 21 Robert Knight 2008-03-17 18:23:17 UTC
Fixed after adjustments to scrolling.