aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2018-09-18 10:49:31 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2018-09-18 10:49:31 +0200
commitfe6f53ffb48a62dc8917c5c285e8e6b5626b8d69 (patch)
treef7500126de67e8a8895f164e11ee66c87d5c8472 /components/script/dom/webglrenderingcontext.rs
parent8c100b23b1e2d29911f44802adc3b8cdffce38bf (diff)
downloadservo-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.rs11
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:
//