diff options
Diffstat (limited to 'src/components/net/local_image_cache.rs')
-rw-r--r-- | src/components/net/local_image_cache.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/components/net/local_image_cache.rs b/src/components/net/local_image_cache.rs index 9c6bf12191c..c7c922e6910 100644 --- a/src/components/net/local_image_cache.rs +++ b/src/components/net/local_image_cache.rs @@ -29,7 +29,7 @@ pub fn LocalImageCache(image_cache_task: ImageCacheTask) -> LocalImageCache { pub struct LocalImageCache { priv image_cache_task: ImageCacheTask, priv round_number: uint, - priv on_image_available: Option<@fn() -> ~fn(ImageResponseMsg)>, + priv on_image_available: Option<~fn() -> ~fn(ImageResponseMsg)>, priv state_map: UrlMap<@mut ImageState> } @@ -43,7 +43,7 @@ struct ImageState { impl LocalImageCache { /// The local cache will only do a single remote request for a given /// URL in each 'round'. Layout should call this each time it begins - pub fn next_round(&mut self, on_image_available: @fn() -> ~fn(ImageResponseMsg)) { + pub fn next_round(&mut self, on_image_available: ~fn() -> ~fn(ImageResponseMsg)) { self.round_number += 1; self.on_image_available = Some(on_image_available); } @@ -109,7 +109,7 @@ impl LocalImageCache { // on the image to load and triggering layout let image_cache_task = self.image_cache_task.clone(); assert!(self.on_image_available.is_some()); - let on_image_available = self.on_image_available.unwrap()(); + let on_image_available = (*self.on_image_available.get_ref())(); let url = (*url).clone(); do task::spawn { let (response_port, response_chan) = comm::stream(); |