cairo.Error: invalid value from do_draw() when gtk3 theme has scrollbar stepper buttons
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
meld |
Fix Released
|
Medium
|
|||
meld (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Meld barfs up a bunch of tracebacks on stderr when the desktop's gtk3 theme has scrollbar stepper buttons. This is particularly annoying when working at the command line, since all those traceback messages push everything else out of my terminal window.
Example traceback:
Traceback (most recent call last):
File "/usr/lib/
width, height)
cairo.Error: invalid value (typically too big) for the size of the input (surface, pattern, etc.)
It seems that DiffMap.do_draw() subtracts the combined height of the scrollbar steppers from self._scroll_height (no matter what the height is, and uses the result as the height argument to cairo.Surface.
You won't see the bug unless your gtk3 theme uses scrollbar stepper buttons. To reproduce, find a theme with something like this in its gtk-3.0/
-GtkScrollb
-GtkScrollb
-GtkRange-
I can reproduce the bug by comparing directories while using any of these themes:
Greybird-Mod
https:/
Windows 8 Gtk3
https:/
Clearlooks-Phenix v6
https:/
Changed in meld: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Changed in meld: | |
status: | Confirmed → Fix Released |
Upstream report showing "RESOLVED FIXED" on 2016-11-07
So fixed in recent Ubuntu versions