After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 728284 - [treeview] Graphics artifact when scrolling with hover-selection
[treeview] Graphics artifact when scrolling with hover-selection
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
3.12.x
Other Linux
: Normal normal
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
: 709992 728631 (view as bug list)
Depends on:
Blocks: 728116
 
 
Reported: 2014-04-15 18:35 UTC by Jonas Danielsson
Modified: 2014-04-29 18:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screencast of reproducer (506.03 KB, video/webm)
2014-04-15 18:35 UTC, Jonas Danielsson
  Details
code to reproduce (2.05 KB, text/x-csrc)
2014-04-15 18:36 UTC, Jonas Danielsson
  Details
treeview: Fix prelight redraw when adjustment changes (2.09 KB, patch)
2014-04-29 07:12 UTC, Alexander Larsson
committed Details | Review

Description Jonas Danielsson 2014-04-15 18:35:37 UTC
Created attachment 274389 [details]
Screencast of reproducer

When scrolling with mouse wheel of two-finger on touchpad the treeview does not seem to get refreshed and you get bit of the selection stay on different rows and not get updated.

This was reported on Maps in bug #728116 but I managed to reproduce it with the attached program. See also video that shows the behavior.
Comment 1 Jonas Danielsson 2014-04-15 18:36:29 UTC
Created attachment 274390 [details]
code to reproduce

This just adds a treeview inside a scrolled window and adds 100 elements. Scrolling with two fingers triggers bug.
Comment 2 Bastien Nocera 2014-04-26 10:53:28 UTC
*** Bug 728631 has been marked as a duplicate of this bug. ***
Comment 3 Alexander Larsson 2014-04-29 07:12:03 UTC
Created attachment 275401 [details] [review]
treeview: Fix prelight redraw when adjustment changes

When the adjustment changes (due to e.g. a mouse wheel scroll) we update
the prelight. The part that un-prelights the previous prelight was
broken by the the pixel cache, as it called update_prelight in the
middle of the scrolling operation, where the windows were moved
but the tree_view->priv->dy was not changed to the new value. This
caused the updates to the pixel cache to go to the wrong place.

We fix this by fully doing the scroll before we update_prelight().
Comment 4 Alexander Larsson 2014-04-29 07:12:36 UTC
Attachment 275401 [details] pushed as c0a87a8 - treeview: Fix prelight redraw when adjustment changes
Comment 5 Sebastian Keller 2014-04-29 18:09:55 UTC
*** Bug 709992 has been marked as a duplicate of this bug. ***