diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2018-09-18 10:49:31 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2018-09-18 10:49:31 +0200 |
commit | fe6f53ffb48a62dc8917c5c285e8e6b5626b8d69 (patch) | |
tree | f7500126de67e8a8895f164e11ee66c87d5c8472 /components/script/dom/webglrenderingcontext.rs | |
parent | 8c100b23b1e2d29911f44802adc3b8cdffce38bf (diff) | |
download | servo-fe6f53ffb48a62dc8917c5c285e8e6b5626b8d69.tar.gz servo-fe6f53ffb48a62dc8917c5c285e8e6b5626b8d69.zip |
Fix a small texSubImage2D bug
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 672ada20b08..ac2ef4ea218 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -3613,7 +3613,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { height: i32, format: u32, data_type: u32, - mut pixels: CustomAutoRooterGuard<Option<ArrayBufferView>>, + pixels: CustomAutoRooterGuard<Option<ArrayBufferView>>, ) -> ErrorResult { let validator = TexImage2DValidator::new(self, target, level, format, width, height, @@ -3644,10 +3644,11 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { // If data is null, a buffer of sufficient size // initialized to 0 is passed. - let buff = match *pixels { - None => vec![0u8; expected_byte_length as usize], - Some(ref mut data) => data.to_vec(), - }; + let buff = handle_potential_webgl_error!( + self, + pixels.as_ref().map(|p| p.to_vec()).ok_or(InvalidValue), + return Ok(()) + ); // From the WebGL spec: // |