aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-03-09 23:27:29 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-03-09 23:27:29 +0100
commit21df4014db5ff11581fcdd328d2dd1f7226a4544 (patch)
tree41c071a3edd9320bb045ff055359d11a63a4439a /components/script/script_thread.rs
parent3fc5bf87d3fd605da7510a5a0240dac0157a9743 (diff)
downloadservo-21df4014db5ff11581fcdd328d2dd1f7226a4544.tar.gz
servo-21df4014db5ff11581fcdd328d2dd1f7226a4544.zip
constellation: Make setting up the WebGL state fallible.
This fixes a regression caused by the glutin update. We now are creating EGL contexts in Linux Wayland, instead of X context, so the GLContextFactory assumption of one GL back-end per platform is broken. This just works around it, for now, but in general I think not relying on available WebGL state is a good thing, and we do that already for WebVR anyway.
Diffstat (limited to 'components/script/script_thread.rs')
-rw-r--r--components/script/script_thread.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs
index f386d29487e..d949e9d0b8c 100644
--- a/components/script/script_thread.rs
+++ b/components/script/script_thread.rs
@@ -483,8 +483,8 @@ pub struct ScriptThread {
/// The unit of related similar-origin browsing contexts' list of MutationObserver objects
mutation_observers: DomRefCell<Vec<Dom<MutationObserver>>>,
- /// A handle to the webgl thread
- webgl_chan: WebGLPipeline,
+ /// A handle to the WebGL thread
+ webgl_chan: Option<WebGLPipeline>,
/// A handle to the webvr thread, if available
webvr_chan: Option<IpcSender<WebVRMsg>>,
@@ -2130,7 +2130,7 @@ impl ScriptThread {
origin,
incomplete.navigation_start,
incomplete.navigation_start_precise,
- self.webgl_chan.channel(),
+ self.webgl_chan.as_ref().map(|chan| chan.channel()),
self.webvr_chan.clone(),
self.microtask_queue.clone(),
self.webrender_document,