Closed Bug 616700 Opened 9 years ago Closed 9 years ago
Transparent plugins rendering not clearing surface correctly
http://mxr.mozilla.org/mozilla-central/source/dom/plugins/PluginInstanceChild.cpp#2602 ctx->Clip() is missing.
Attachment #495252 - Flags: review?(roc)
On maemo flash able to render any rectangle area
Comment on attachment 495252 [details] [diff] [review] Clip rectangle for color fill Clip() should not be needed here. It should do nothing, since Fill() shouldn't change pixels outside the rectangle.
Attachment #495252 - Flags: review?(roc) → review-
hmm, somehow it is not clearing properly on arm, cairo 1.10, pixman 0.19.6... ok I'll check it could be some other problem.
Looks like it is actually ctx->Flush() missing here or later in the code. Because a bit later the maemo specific code in PluginInstanceChild::PaintRectToPlatformSurface() tries to access this surface as a memory buffer. And the clear operation is not actually performed because cairo lazily tracks 'surface->is_clear' flag. "void cairo_surface_flush(cairo_surface_t *surface); Do any pending drawing for the surface and also restore any temporary modification's cairo has made to the surface's state. This function must be called before switching from drawing on the surface with cairo to drawing on it directly with native APIs. If the surface doesn't support direct access, then this function does nothing."
should it be blocking for bug https://bugzilla.mozilla.org/show_bug.cgi?id=562746 ?
Ok, it is blocking bug with cairo 1.10 update...
Comment on attachment 495253 [details] [diff] [review] Don't do flash hack for maemo platform Posted in separate bug 618565
Attachment #496778 - Flags: review?(roc) → review+
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.