Bug 20079

Summary: [Qt] Canvas transparency errors
Product: WebKit Reporter: marcoil <marc.ordinasillopis>
Component: WebKit QtAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
URL: http://annevankesteren.nl/test/html/canvas/demo/002.html

Description marcoil 2008-07-17 09:20:11 PDT
In the url, the circles should be translucent and they are completely opaque. I'm also getting some background artifacts, like if the background wasn't properly initialized.
Comment 1 Dirk Schulze 2008-09-10 12:15:24 PDT
This problem appears after the canvas clean-up.
In HTMLCanvasElement.cpp a QImage was initialised and filled with fill(0). To make everything a bit more platform-independent, the qt code was droped and replaced by an image-buffer.
And ImageBuffer creates a QPixmap. This pixmap isn't filled or cleared. Thats why you see this strange "background". This happens on every canvas-example where the background isn't set by canvas.fillRect() or something simular.

I tried to fix it by adding px.fill(Qt::transparent); to ImageBuffer::create(). That works for canvas (except of compositing), but brakes many html-pages.
Comment 2 Dirk Schulze 2008-09-10 13:16:25 PDT
talked to Simon Hausmann over IRC and it could be the problem that QPainter is not calling end(). 
QtWebKit seems to work with it like before the changes on Canvas then.
Comment 3 Dirk Schulze 2008-12-09 04:36:54 PST
no longer an issue.