aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/net/local_image_cache.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/net/local_image_cache.rs')
-rw-r--r--src/components/net/local_image_cache.rs6
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();