diff options
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 551a1874b0c..51a53cb3435 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -251,13 +251,10 @@ impl WebGLRenderingContext { // If an attempt is made to call this function with no // WebGLTexture bound, an INVALID_OPERATION error is generated. - let texture = match texture { - Some(texture) => texture, - None => { - self.webgl_error(InvalidOperation); - return false; - } - }; + if texture.is_none() { + self.webgl_error(InvalidOperation); + return false; + } // GL_INVALID_ENUM is generated if data_type is not an accepted value. match data_type { @@ -324,7 +321,9 @@ impl WebGLRenderingContext { // GL_INVALID_VALUE is generated if level is greater than zero and the // texture and the texture is not power of two. - if level > 0 && !texture.is_power_of_two() { + if level > 0 && + (!(width as u32).is_power_of_two() || + !(height as u32).is_power_of_two()) { self.webgl_error(InvalidValue); return false; } |