Changeset 88646 in webkit


Ignore:
Timestamp:
Jun 13, 2011 10:14:36 AM (13 years ago)
Author:
Carlos Garcia Campos
Message:

2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>

Reviewed by Martin Robinson.

[GTK] Fix a crash when drawing area has been deleted
https://bugs.webkit.org/show_bug.cgi?id=62541

Check whether WebPageProxy::drawingArea() returns a valid pointer
before using it, it might be null, for example, when the web
process crashes.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp: (callDrawingAreaPaintMethod): (webkitWebViewBaseSizeAllocate):
Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r88640 r88646  
     12011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Reviewed by Martin Robinson.
     4
     5        [GTK] Fix a crash when drawing area has been deleted
     6        https://bugs.webkit.org/show_bug.cgi?id=62541
     7
     8        Check whether WebPageProxy::drawingArea() returns a valid pointer
     9        before using it, it might be null, for example, when the web
     10        process crashes.
     11
     12        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
     13        (callDrawingAreaPaintMethod):
     14        (webkitWebViewBaseSizeAllocate):
     15
    1162011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
    217
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r88634 r88646  
    154154static void callDrawingAreaPaintMethod(DrawingAreaProxy* drawingArea, cairo_t* context, const IntRect& area)
    155155{
     156    if (!drawingArea)
     157        return;
     158
    156159    WebKit::Region unpaintedRegion; // This is simply unused.
    157160    static_cast<DrawingAreaProxyImpl*>(drawingArea)->paint(context, area, unpaintedRegion);
     
    184187    WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget);
    185188    WebKitWebViewBasePrivate* priv = webViewBase->priv;
     189
     190    if (!priv->pageProxy->drawingArea())
     191        return;
    186192
    187193    GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->size_allocate(widget, allocation);
Note: See TracChangeset for help on using the changeset viewer.