2013/9/28 Martin Owens <doctormo@...400...>:
Hey Devs,
Blocking bug lp:850992 [1] is proving impossible to get a handle on for different devs who are not familiar with the blend code base and it's resisting attempts to let us learn about it.
We could do with a heavy-hitting genius who hopefully knows something about the blend modes for layers to figure this out. I'm betting it's a single line fix when the little worm is rooted out.
I found the following clues:
1. After grouping, I can only select the invisible top rectangle by clicking on the part where it should obscure the lower one. Clicking on the parts where it should be drawn, but there is nothing below it has no effect. This indicates that there is something seriously wrong going on with bboxes. 2. The invisibility persists when zooming in/out, indicating that the display tree is in this incorrect state even after a call to Drawing::update() that should force-update everything (reset = STATE_ALL) and a full redraw.
PS: This is probably unrelated to this bug, but the recently introduced code handling _filter_bbox is wrong. _filter_bbox should NOT be set using area_enlarge(). area_enlarge() is intended to compute the dependency region of the filter, and exists only because we render in tiles. _drawbox must ultimately come from SVG data, because the filter effect region is specified explicitly in the SVG (by default it corresponds to 120% of the object width and height), rather than implicitly by the filter primitives used.
Regards, Krzysztof