RESOLVED CONFIGURATION CHANGED90350
[GTK] [STABLE] Widget painting on systems without Alpha channel support broken
https://bugs.webkit.org/show_bug.cgi?id=90350
Summary [GTK] [STABLE] Widget painting on systems without Alpha channel support broken
Beau Adkins
Reported 2012-07-01 12:35:16 PDT
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.
Attachments
Beau Adkins
Comment 1 2012-07-04 08:33:25 PDT
This bug is present in webkitgtk 1.7.90 and onwards.
Martin Robinson
Comment 2 2021-05-06 02:08:10 PDT
Closing this since the original change was for WebKit1.
Note You need to log in before you can comment on or make changes to this bug.