Title: [147911] trunk/Source/WebCore
- Revision
- 147911
- Author
- [email protected]
- Date
- 2013-04-08 06:11:06 -0700 (Mon, 08 Apr 2013)
Log Message
[EFL] REGRESSION(r147743): Use the correct `operator new' override in RenderThemeEfl.
https://bugs.webkit.org/show_bug.cgi?id=114166
Reviewed by Alexis Menard.
r147743 disabled GLOBAL_FAST_MALLOC_NEW on the EFL port, but this has
caused some pixel tests in WK1 to crash.
The problem stems from RenderThemeEfl::applyEdjeRTLState() directly
calling `operator new(size_t)' for some allocations.
RefCounted<RenderTheme>, on its turn, has a WTF_MAKE_FAST_ALLOCATED
call which adds some `operator new' overrides to the class. Our direct
calls in applyEdjeRTLState() made the scope resolution rules choose the
WTF_MAKE_FAST_ALLOCATED version (which uses FastMalloc's allocator),
while WTF::deleteOwnedPtr() calls the global `operator delete' (which
uses the system's free() implementation).
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::applyEdjeRTLState): Explicitly choose the
global `operator new' when calling it.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (147910 => 147911)
--- trunk/Source/WebCore/ChangeLog 2013-04-08 12:57:40 UTC (rev 147910)
+++ trunk/Source/WebCore/ChangeLog 2013-04-08 13:11:06 UTC (rev 147911)
@@ -1,3 +1,26 @@
+2013-04-08 Raphael Kubo da Costa <[email protected]>
+
+ [EFL] REGRESSION(r147743): Use the correct `operator new' override in RenderThemeEfl.
+ https://bugs.webkit.org/show_bug.cgi?id=114166
+
+ Reviewed by Alexis Menard.
+
+ r147743 disabled GLOBAL_FAST_MALLOC_NEW on the EFL port, but this has
+ caused some pixel tests in WK1 to crash.
+
+ The problem stems from RenderThemeEfl::applyEdjeRTLState() directly
+ calling `operator new(size_t)' for some allocations.
+ RefCounted<RenderTheme>, on its turn, has a WTF_MAKE_FAST_ALLOCATED
+ call which adds some `operator new' overrides to the class. Our direct
+ calls in applyEdjeRTLState() made the scope resolution rules choose the
+ WTF_MAKE_FAST_ALLOCATED version (which uses FastMalloc's allocator),
+ while WTF::deleteOwnedPtr() calls the global `operator delete' (which
+ uses the system's free() implementation).
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::applyEdjeRTLState): Explicitly choose the
+ global `operator new' when calling it.
+
2013-04-07 Benjamin Poulain <[email protected]>
Remove the android code from WebCore
Modified: trunk/Source/WebCore/platform/efl/RenderThemeEfl.cpp (147910 => 147911)
--- trunk/Source/WebCore/platform/efl/RenderThemeEfl.cpp 2013-04-08 12:57:40 UTC (rev 147910)
+++ trunk/Source/WebCore/platform/efl/RenderThemeEfl.cpp 2013-04-08 13:11:06 UTC (rev 147911)
@@ -330,7 +330,7 @@
HTMLInputElement* input = renderSlider->node()->toInputElement();
double valueRange = input->maximum() - input->minimum();
- OwnPtr<Edje_Message_Float_Set> msg = adoptPtr(static_cast<Edje_Message_Float_Set*>(operator new (sizeof(Edje_Message_Float_Set) + sizeof(double))));
+ OwnPtr<Edje_Message_Float_Set> msg = adoptPtr(static_cast<Edje_Message_Float_Set*>(::operator new (sizeof(Edje_Message_Float_Set) + sizeof(double))));
msg->count = 2;
// The first parameter of the message decides if the progress bar
@@ -351,7 +351,7 @@
int max = rect.width();
double value = renderProgress->position();
- OwnPtr<Edje_Message_Float_Set> msg = adoptPtr(static_cast<Edje_Message_Float_Set*>(operator new (sizeof(Edje_Message_Float_Set) + sizeof(double))));
+ OwnPtr<Edje_Message_Float_Set> msg = adoptPtr(static_cast<Edje_Message_Float_Set*>(::operator new (sizeof(Edje_Message_Float_Set) + sizeof(double))));
msg->count = 2;
if (object->style()->direction() == RTL)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes