[Webkit-unassigned] [Bug 90350] New: Widget painting on systems without Alpha channel support broken
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Jul 1 12:35:16 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=90350
Summary: Widget painting on systems without Alpha channel
support broken
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Linux
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: WebKit Gtk
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: beau.adkins at lightpointsecurity.com
This bug was introduced here: http://trac.webkit.org/changeset/98827
The root cause is the removal of the line:
gc.setGdkExposeEvent(event);
from webkitwebview.cpp
Without this line being set, it breaks the widget rendering in WidgetRenderingContext.cpp. The WidgetRenderingContext class can function in 2 ways:
If transparency is supported, a pixmap is created that is a little larger than needed to hold the rendered widget. The widget is then rendered onto the pixmap. The excess area of the pixmap is assumed to be transparent. The whole pixmap is then drawn onto the cairo surface.
If transparency is not supported, it is assumed that there is a reference to the window that is being drawn to. In this case, the widget is rendered right to the window.
With this change, there is no longer a reference to the window. The code in WidgetRenderingContext.cpp then flows through as if transparency were supported. The result is a large black border around all widgets.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list