Hi Sebastian, On Sun, May 22, 2016 at 11:29:34AM -0400, Jorge Arellano Cid wrote:
[...] Short story: I have a working patch.
It solves the overlap (not 1.- 2.- and 3.-). It seems there're a few different bugs here.
It's not as clean as I'd like, but it already is a proof of concept. I'll try to understand the issues better and clean it up.
AFAIS it can have an effect on general rendering of floats. Currently, I dont know if it's related to n33180d.html.
I'll try to share my findings this monday (unless you'd like to look at it "as is" now).
OK, here is what I've found so far. Two patches attached plus some testcases. The first patch is the fix for o4.html. The second one also tackles o5.html and o6.html (progressive patches). AFAIU the gist of the problem is in getGeneratorX() not returning the correct value on some cases. It is called in four places inside ooffloatsmgr.cc so other functions are sometimes making calculations with a wrong x value. The second problem is getFloatsSize() returning the widest among a list of floats instead of a cumulative sum of widths inside a cretain range (the second patch just adds to ilustrate the point). Some tests: o4.html o5.html o6.html some-sites [1] [2] First patch: OK Wrong Wrong OK (1) (2) Second patch: OK OK OK +/- (3) (4) (1), (2): No images over text. As it was before. (3) : Some images overlap text. (4) : Different background color! some rendering diffs. [1] http://www.pravdareport.com/} [2] http://tinyurl.com/j2uzps9 It looks like fixing getGeneratorX() paves the way for fixing hidden bugs. Also fixing getFloatsSize() can shed light for a patch for n33180d.html. Please get back to me when you've processed this so we can coordinate. HTH -- Cheers Jorge.-