Modified: trunk/Source/WebCore/ChangeLog (145386 => 145387)
--- trunk/Source/WebCore/ChangeLog 2013-03-11 19:48:52 UTC (rev 145386)
+++ trunk/Source/WebCore/ChangeLog 2013-03-11 19:49:56 UTC (rev 145387)
@@ -1,3 +1,16 @@
+2013-03-11 Rajeev Sarvaria <[email protected]>
+
+ GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
+ https://bugs.webkit.org/show_bug.cgi?id=111450
+
+ Reviewed by Rob Buis.
+
+ Bufsize argument corrected to size in bytes instead of number of integers or floats.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::getUniform):
+
2013-03-11 Sheriff Bot <[email protected]>
Unreviewed, rolling out r145375.
Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (145386 => 145387)
--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp 2013-03-11 19:48:52 UTC (rev 145386)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp 2013-03-11 19:49:56 UTC (rev 145387)
@@ -3144,7 +3144,7 @@
case GraphicsContext3D::FLOAT: {
GC3Dfloat value[16] = {0};
if (m_isRobustnessEXTSupported)
- m_context->getExtensions()->getnUniformfvEXT(objectOrZero(program), location, 16, value);
+ m_context->getExtensions()->getnUniformfvEXT(objectOrZero(program), location, 16 * sizeof(GC3Dfloat), value);
else
m_context->getUniformfv(objectOrZero(program), location, value);
if (length == 1)
@@ -3154,7 +3154,7 @@
case GraphicsContext3D::INT: {
GC3Dint value[4] = {0};
if (m_isRobustnessEXTSupported)
- m_context->getExtensions()->getnUniformivEXT(objectOrZero(program), location, 4, value);
+ m_context->getExtensions()->getnUniformivEXT(objectOrZero(program), location, 4 * sizeof(GC3Dint), value);
else
m_context->getUniformiv(objectOrZero(program), location, value);
if (length == 1)
@@ -3164,7 +3164,7 @@
case GraphicsContext3D::BOOL: {
GC3Dint value[4] = {0};
if (m_isRobustnessEXTSupported)
- m_context->getExtensions()->getnUniformivEXT(objectOrZero(program), location, 4, value);
+ m_context->getExtensions()->getnUniformivEXT(objectOrZero(program), location, 4 * sizeof(GC3Dint), value);
else
m_context->getUniformiv(objectOrZero(program), location, value);
if (length > 1) {