Title: [97908] trunk/Source/WebCore
Revision
97908
Author
[email protected]
Date
2011-10-19 18:39:48 -0700 (Wed, 19 Oct 2011)

Log Message

[EFL] Do not always consider a ScrollView will have an Evas/Evas_Object.
https://bugs.webkit.org/show_bug.cgi?id=70426

Patch by Raphael Kubo da Costa <[email protected]> on 2011-10-19
Reviewed by Antonio Gomes.

After r95234 turned on a new code path for the port (we erroneously used
ENABLE_AS_IMAGE instead of ENABLE_SVG_AS_IMAGE before), some tests, such
as compositing/image/direct-svg-image.html or
fast/writing-mode/block-level-images.html started writing stderr
messages about the parent passed to ScrollbarEfl::setParent not having
an Evas.

It turns out that a FrameView can be created in places other than
ewk_frame_view_create_for_view, in which case the view will not have an
Evas or an Evas_Object. This is not an error condition, so we can just
return earlier.

No new tests, this was detected by existing ones.

* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::setParent):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (97907 => 97908)


--- trunk/Source/WebCore/ChangeLog	2011-10-20 01:36:28 UTC (rev 97907)
+++ trunk/Source/WebCore/ChangeLog	2011-10-20 01:39:48 UTC (rev 97908)
@@ -1,3 +1,27 @@
+2011-10-19  Raphael Kubo da Costa  <[email protected]>
+
+        [EFL] Do not always consider a ScrollView will have an Evas/Evas_Object.
+        https://bugs.webkit.org/show_bug.cgi?id=70426
+
+        Reviewed by Antonio Gomes.
+
+        After r95234 turned on a new code path for the port (we erroneously used
+        ENABLE_AS_IMAGE instead of ENABLE_SVG_AS_IMAGE before), some tests, such
+        as compositing/image/direct-svg-image.html or
+        fast/writing-mode/block-level-images.html started writing stderr
+        messages about the parent passed to ScrollbarEfl::setParent not having
+        an Evas.
+
+        It turns out that a FrameView can be created in places other than
+        ewk_frame_view_create_for_view, in which case the view will not have an
+        Evas or an Evas_Object. This is not an error condition, so we can just
+        return earlier.
+
+        No new tests, this was detected by existing ones.
+
+        * platform/efl/ScrollbarEfl.cpp:
+        (ScrollbarEfl::setParent):
+
 2011-10-19  Julien Chaffraix  <[email protected]>
 
         Multiple crashes in RenderTable during layout

Modified: trunk/Source/WebCore/platform/efl/ScrollbarEfl.cpp (97907 => 97908)


--- trunk/Source/WebCore/platform/efl/ScrollbarEfl.cpp	2011-10-20 01:36:28 UTC (rev 97907)
+++ trunk/Source/WebCore/platform/efl/ScrollbarEfl.cpp	2011-10-20 01:39:48 UTC (rev 97908)
@@ -95,7 +95,7 @@
     Widget::setParent(view);
 
     if (!object) {
-        if (!view)
+        if (!view || !view->evas() || !view->evasObject())
             return;
 
         object = edje_object_add(view->evas());
@@ -106,7 +106,7 @@
         }
         edje_object_message_handler_set(object, scrollbarEflEdjeMessage, this);
         setEvasObject(object);
-    } else if (!view) {
+    } else if (!view || !view->evas() || !view->evasObject()) {
         evas_object_hide(object);
         return;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to