diff options
-rw-r--r-- | src/components/script/dom/uievent.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/components/script/dom/uievent.rs b/src/components/script/dom/uievent.rs index 66ec8e26e70..4cbad225ef3 100644 --- a/src/components/script/dom/uievent.rs +++ b/src/components/script/dom/uievent.rs @@ -13,11 +13,12 @@ use dom::window::Window; use servo_util::str::DOMString; use serialize::{Encoder, Encodable}; +use std::cell::Cell; #[deriving(Encodable)] pub struct UIEvent { pub event: Event, - pub view: Option<JS<Window>>, + pub view: Cell<Option<JS<Window>>>, pub detail: i32 } @@ -31,7 +32,7 @@ impl UIEvent { pub fn new_inherited(type_id: EventTypeId) -> UIEvent { UIEvent { event: Event::new_inherited(type_id), - view: None, + view: Cell::new(None), detail: 0 } } @@ -86,7 +87,7 @@ pub trait UIEventMethods { impl<'a> UIEventMethods for JSRef<'a, UIEvent> { fn GetView(&self) -> Option<Temporary<Window>> { - self.view.map(|view| Temporary::new(view)) + self.view.get().map(|view| Temporary::new(view)) } fn Detail(&self) -> i32 { |