summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/platform/graphics/android/PatternAndroid.cpp2
-rw-r--r--Source/WebCore/platform/graphics/android/rendering/ShaderProgram.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/PatternAndroid.cpp b/Source/WebCore/platform/graphics/android/PatternAndroid.cpp
index 721029c..ed3265b 100644
--- a/Source/WebCore/platform/graphics/android/PatternAndroid.cpp
+++ b/Source/WebCore/platform/graphics/android/PatternAndroid.cpp
@@ -50,6 +50,8 @@ SkShader* Pattern::platformPattern(const AffineTransform&)
if (m_pattern)
return m_pattern;
+ if (!tileImage())
+ return 0;
SkBitmapRef* ref = tileImage()->nativeImageForCurrentFrame();
if (!ref)
return 0;
diff --git a/Source/WebCore/platform/graphics/android/rendering/ShaderProgram.cpp b/Source/WebCore/platform/graphics/android/rendering/ShaderProgram.cpp
index 9e13ca1..b59b6e2 100644
--- a/Source/WebCore/platform/graphics/android/rendering/ShaderProgram.cpp
+++ b/Source/WebCore/platform/graphics/android/rendering/ShaderProgram.cpp
@@ -728,6 +728,7 @@ void ShaderProgram::drawQuadInternal(ShaderType type, const GLfloat* matrix,
glVertexAttribPointer(m_handleArray[type].positionHandle,
2, GL_FLOAT, GL_FALSE, 0, 0);
m_cachedProgramType = type;
+ m_cachedOpacity = -1; // reset cache for variable shared by multiple programs
}
glUniformMatrix4fv(m_handleArray[type].projMtxHandle, 1, GL_FALSE, matrix);