aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2016-09-17 15:57:13 +0100
committerGlenn Watson <github@intuitionlibrary.com>2016-09-21 08:05:45 +1000
commit2d66840145e8a2fdf270ff0cb47679bd7bb8c30c (patch)
treef63e9d564129f46ae2cb276dec6189cf873c7a94 /components/script/dom/webglrenderingcontext.rs
parentcc294fffcc70aff976886dd1b328108e232a87db (diff)
downloadservo-2d66840145e8a2fdf270ff0cb47679bd7bb8c30c.tar.gz
servo-2d66840145e8a2fdf270ff0cb47679bd7bb8c30c.zip
webgl: Don't forget to update the WebGL context's RB binding.
We need to track the RB in the DOM context for getParameter(gl.RENDERBUFFER_BINDING), among others.
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r--components/script/dom/webglrenderingcontext.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index bb4ff17133b..52afabeb8bd 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -749,9 +749,11 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
// case: Chromium currently unbinds, and Gecko silently
// returns. The conformance tests don't cover this case.
Some(renderbuffer) if !renderbuffer.is_deleted() => {
- renderbuffer.bind(target)
+ self.bound_renderbuffer.set(Some(renderbuffer));
+ renderbuffer.bind(target);
}
_ => {
+ self.bound_renderbuffer.set(None);
// Unbind the currently bound renderbuffer
self.ipc_renderer
.send(CanvasMsg::WebGL(WebGLCommand::BindRenderbuffer(target, None)))