GNOME Bugzilla – Bug 760942
gitg drawing code broken
Last modified: 2016-01-22 04:43:09 UTC
There seems to be a regression on gitg from this commit: commit 580ea227a6bb19ad6c6d4766b3a36dbad24583f3 Author: Benjamin Otte <otte@redhat.com> Date: Tue Jan 19 02:42:58 2016 +0100 widget: Redo drawing code Previously, we had a special cae to draw subwindows of widgets. This is not necessary as conformant widgets should be able to properly render themselves when all windows need to be painted. From now on assume that is the case. We therefore paint nonnative GDK windows "inline" by just returning TRUE for gtk_cairo_should_draw_window() for those windows. This speeds up hilighting different rows in the listbox gtk-demo example tremendously (by a factor of 10 or more) as the previous code was O(<number of non-window subwidgets> * <number of subwindows>) which in the listbox example were ~15,000 and ~2,000 respectively. Open gitg, check the diff view, you will see a couple of lines crossing the text view instead of being on the gutter.
This is the specific code we use for this: https://git.gnome.org/browse/gitg/tree/libgitg/gitg-diff-view-file-renderer-text.vala#n447 We are pretty much open to change it if you think we are doing something stupid that can be improved.