Bug 72562 - Ideal mode paint errors on scroll
Summary: Ideal mode paint errors on scroll
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: part (show other bugs)
Version: SVN
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-13 20:26 UTC by Jon Smirl
Modified: 2004-05-26 23:18 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Smirl 2004-01-13 20:26:45 UTC
Version:           CVS (using KDE Devel)
Installed from:    Compiled sources

I'm seeing paint errors on scroll in Ideal mode again. I'm using F4 to jump from compiler error to error. I have the bottom messages tab up in overlap mode.

If the F4 jump makes the screen scroll about 2/3 of the way, I'm getting gray artifacts from the Messages window in the editor window.

Using Kate
Comment 1 Hamish Rodda 2004-01-13 20:38:55 UTC
Yeah, I thought I had fixed this, but it would seem it broke again or it wasn't completely fixed...

I'm thinking about turning off kate's optimised scroll drawing... :(
Comment 2 Jon Smirl 2004-01-13 20:47:54 UTC
The bug looks to be in kate. The overlay has damaged part of the Kate windows. Kate records this damage. But now you scroll Kate before it paints. Kate needs to adjust the recorded damage areas for the scroll. It doesn't look like Kate is doing this.
Comment 3 Jon Smirl 2004-01-13 20:54:47 UTC
The bug is probably in Kate's scroll window function. Kdevelop should not be able to impact this.
Comment 4 Hamish Rodda 2004-01-13 21:00:32 UTC
Trust me, I know where this bug is.  If it was easy to fix, it would be already.
Comment 5 Christoph Cullmann 2004-01-14 13:06:42 UTC
hamish, you seen that too again ?
me really thought would be solved, hadn't it here since your last fixes :/
btw., jon, you use kdevelop + kdelibs CVS head, or ?
Comment 6 Jon Smirl 2004-01-14 18:16:46 UTC
I am on kdevelop and kdelibs CVS head. I've earn learned to whack my entire install tree and rebuild a new one after each update. I just checked in /proc/pid/map and I definitely have the CVS version loaded.
Comment 7 Hamish Rodda 2004-01-14 20:01:14 UTC
Yes, I have seen it too. I don't know what's happened, yet.
Comment 8 Jon Smirl 2004-01-23 19:08:01 UTC
This seems to have gotten better recently. But I just hit one I hadn't seen before. Normally you see this bug when the ideal window down at the bottom has been scrolled up. I just saw it the other way, the window scrolled down exposing a grey area at the top that never got repainted.
Comment 9 Hamish Rodda 2004-02-14 22:39:21 UTC
CVS commit by rodda: 

Removing an incomplete hack and replacing it with a proper technique with
very little performance loss.

This hack tried to check that another repaint event was not issued around the
time that a scroll was triggered, as we would have to repaint the translated area
because the image on-screen had already been scrolled.  It was successful,
but only partially (the bug was only noticed less often in kdevelop).

This solution tracks which requests come from 3rd party applications, and
triggers an update of the whole view rather than trying to QWidget::scroll()
when that is the case.  It fixes it and is elegant :)

This also contains a slight change to the buffer highlighting tracking for
kio-accessed files, to make it more correct (there may have been a bug here
or not, we only got one unconfirmed report).

CCMAIL:72562-done@bugs.kde.org


  M +9 -5      katedocument.cpp   1.681.2.1
  M +11 -9     kateview.cpp   1.333.2.1
  M +4 -4      kateview.h   1.159.2.1
  M +0 -23     kateviewhelpers.cpp   1.5.2.1
  M +13 -49    kateviewinternal.cpp   1.276.2.1
  M +3 -6      kateviewinternal.h   1.95.2.1



Comment 10 Jon Smirl 2004-02-16 02:20:53 UTC
Just got this again but via a new path.

I had a menu open that was obscuring part of the kate area. I then used the mouse scroll wheel to scroll. Part of the menu ended up in the kate area as a paint bug.

I am synced to CVS at Feb 15 AM.
Comment 11 Jon Smirl 2004-02-16 02:29:36 UTC
There is a trick to this. Drop the menu down, make sure it overlaps some of the Kate area. Then move the mouse from being over the menu so that it is over the Kate area. Don't click on anything. Now spin the scrollwheel up. That will cause a paint error of the menu into the Kate area.
Comment 12 Jan Villat 2004-05-26 23:18:22 UTC
CVS commit by villat: 

Fixing a paint error when a scrollwheel occures while a menu is opened.
CCMAIL: 72562-done@bugs.kde.org


  M +5 -0      kateviewinternal.cpp   1.294


--- kdelibs/kate/part/kateviewinternal.cpp  #1.293:1.294
@@ -2944,4 +2944,9 @@ void KateViewInternal::wheelEvent(QWheel
     } else {
       scrollViewLines(-((e->delta() / 120) * QApplication::wheelScrollLines()));
+      if (e->delta() > 0) {
+        // maybe a menu was opened -> we shall erase it
+        update();
+        leftBorder->update();
+      }
     }