From 2fd53c266e3a550a10fffc163caf98dee779e19d Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 1 Feb 2016 17:40:58 +0100 Subject: [PATCH] Use the select macro on the paint thread. --- components/gfx/paint_thread.rs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/components/gfx/paint_thread.rs b/components/gfx/paint_thread.rs index 212ca28eec1..fdb85aff339 100644 --- a/components/gfx/paint_thread.rs +++ b/components/gfx/paint_thread.rs @@ -30,7 +30,7 @@ use std::borrow::ToOwned; use std::collections::HashMap; use std::mem as std_mem; use std::sync::Arc; -use std::sync::mpsc::{Receiver, Select, Sender, channel}; +use std::sync::mpsc::{Receiver, Sender, channel}; use url::Url; use util::geometry::{ExpandToPixelBoundaries}; use util::opts; @@ -301,20 +301,13 @@ impl PaintThread where C: PaintListener + Send + 'static { loop { let message = { - let select = Select::new(); - let mut layout_to_paint_handle = select.handle(&self.layout_to_paint_port); - let mut chrome_to_paint_handle = select.handle(&self.chrome_to_paint_port); - unsafe { - layout_to_paint_handle.add(); - chrome_to_paint_handle.add(); - } - let result = select.wait(); - if result == layout_to_paint_handle.id() { - Msg::FromLayout(self.layout_to_paint_port.recv().unwrap()) - } else if result == chrome_to_paint_handle.id() { - Msg::FromChrome(self.chrome_to_paint_port.recv().unwrap()) - } else { - panic!("unexpected select result") + let layout_to_paint = &self.layout_to_paint_port; + let chrome_to_paint = &self.chrome_to_paint_port; + select! { + msg = layout_to_paint.recv() => + Msg::FromLayout(msg.unwrap()), + msg = chrome_to_paint.recv() => + Msg::FromChrome(msg.unwrap()) } };