Skip to content

Commit 5324cab

Browse files
committed
Appease the new borrow checker.
1 parent 3c29167 commit 5324cab

File tree

6 files changed

+34
-55
lines changed

6 files changed

+34
-55
lines changed

src/servo-gfx/font.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ pub impl Font {
386386
advance += glyph.advance();
387387
}
388388
let bounds = Rect(Point2D(Au(0), -self.metrics.ascent),
389-
Size2D(advance, self.metrics.ascent + self.metrics.descent));
389+
Size2D(advance, self.metrics.ascent + self.metrics.descent));
390390

391391
// TODO(Issue #125): support loose and tight bounding boxes; using the
392392
// ascent+descent and advance is sometimes too generous and

src/servo-gfx/font_list.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,9 @@ impl FontFamily {
9696
}
9797

9898
fn load_family_variations(@mut self, list: &FontListHandle) {
99-
let this : &mut FontFamily = self; // FIXME: borrow checker workaround
100-
if this.entries.len() > 0 { return; }
99+
if self.entries.len() > 0 { return; }
101100
list.load_variations_for_family(self);
102-
assert!(this.entries.len() > 0);
101+
assert!(self.entries.len() > 0);
103102
}
104103

105104
pub fn find_font_for_style(@mut self, list: &FontListHandle, style: &SpecifiedFontStyle)

src/servo-gfx/platform/macos/font.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use geometry::Au;
1616
use platform::macos::font_context::FontContextHandle;
1717
use text::glyph::GlyphIndex;
1818

19-
use core_foundation::base::{CFIndex, CFWrapper};
19+
use core_foundation::base::CFIndex;
2020
use core_foundation::data::CFData;
2121
use core_foundation::string::UniChar;
2222
use core_graphics::data_provider::CGDataProvider;
@@ -106,7 +106,7 @@ impl FontHandleMethods for FontHandle {
106106

107107
fn boldness(&self) -> CSSFontWeight {
108108
// -1.0 to 1.0
109-
let normalized = unsafe { self.ctfont.all_traits().normalized_weight() };
109+
let normalized = self.ctfont.all_traits().normalized_weight();
110110
// 0.0 to 9.0
111111
let normalized = (normalized + 1.0) / 2.0 * 9.0;
112112
if normalized < 1.0 { return FontWeight100; }
@@ -146,13 +146,11 @@ impl FontHandleMethods for FontHandle {
146146

147147
fn glyph_h_advance(&self, glyph: GlyphIndex) -> Option<FractionalPixel> {
148148
let glyphs = [glyph as CGGlyph];
149-
unsafe {
150-
let advance = self.ctfont.get_advances_for_glyphs(kCTFontDefaultOrientation,
151-
&glyphs[0],
152-
ptr::null(),
153-
1);
154-
return Some(advance as FractionalPixel);
155-
}
149+
let advance = self.ctfont.get_advances_for_glyphs(kCTFontDefaultOrientation,
150+
&glyphs[0],
151+
ptr::null(),
152+
1);
153+
Some(advance as FractionalPixel)
156154
}
157155

158156
fn get_metrics(&self) -> FontMetrics {

src/servo-gfx/platform/macos/font_list.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,9 @@ pub impl FontListHandle {
4242
}
4343

4444
fn load_variations_for_family(&self, family: @mut FontFamily) {
45-
let fam: &mut FontFamily = family; // FIXME: borrow checker workaround
46-
let family_name = &fam.family_name;
47-
debug!("Looking for faces of family: %s", *family_name);
45+
debug!("Looking for faces of family: %s", family.family_name);
4846

49-
let family_collection = core_text::font_collection::create_for_family(*family_name);
47+
let family_collection = core_text::font_collection::create_for_family(family.family_name);
5048
for family_collection.get_descriptors().each |descref: &CTFontDescriptorRef| {
5149
let desc = CFWrapper::wrap_shared(*descref);
5250
let font = core_text::font::new_from_descriptor(&desc, 0.0);

src/servo-net/image_cache_task.rs

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -373,20 +373,13 @@ impl ImageCache {
373373
}
374374
375375
priv fn purge_waiters(&self, url: Url, f: &fn() -> ImageResponseMsg) {
376-
match self.wait_map.find(&url) {
377-
Some(waiters) => {
378-
let waiters = *waiters;
379-
let mut new_waiters = ~[];
380-
new_waiters <-> *waiters;
381-
382-
for new_waiters.each |response| {
383-
response.send(f());
376+
match self.wait_map.pop(&url) {
377+
Some(waiters) => {
378+
for waiters.each |response| {
379+
response.send(f());
380+
}
384381
}
385-
386-
*waiters <-> new_waiters;
387-
self.wait_map.remove(&url);
388-
}
389-
None => ()
382+
None => ()
390383
}
391384
}
392385
@@ -410,13 +403,11 @@ impl ImageCache {
410403
411404
Prefetching(DoDecode) | Decoding => {
412405
// We don't have this image yet
413-
match self.wait_map.find(&url) {
414-
Some(waiters) => {
415-
vec::push(*waiters, response);
416-
}
417-
None => {
418-
self.wait_map.insert(url, @mut ~[response]);
419-
}
406+
if self.wait_map.contains_key(&url) {
407+
let waiters = self.wait_map.find_mut(&url).unwrap();
408+
waiters.push(response);
409+
} else {
410+
self.wait_map.insert(url, @mut ~[response]);
420411
}
421412
}
422413

src/servo-net/local_image_cache.rs

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,9 @@ pub impl LocalImageCache {
7676

7777
match state.last_response {
7878
ImageReady(ref image) => {
79-
// FIXME: appease borrowck
80-
unsafe {
81-
let (port, chan) = comm::stream();
82-
chan.send(ImageReady(clone_arc(image)));
83-
return port;
84-
}
79+
let (port, chan) = comm::stream();
80+
chan.send(ImageReady(clone_arc(image)));
81+
return port;
8582
}
8683
ImageNotReady => {
8784
if last_round == self.round_number {
@@ -138,18 +135,14 @@ pub impl LocalImageCache {
138135
}
139136

140137
priv fn get_state(&self, url: &Url) -> @mut ImageState {
141-
match self.state_map.find(url) {
142-
Some(state) => *state,
143-
None => {
144-
let new_state = @mut ImageState {
145-
prefetched: false,
146-
decoded: false,
147-
last_request_round: 0,
148-
last_response: ImageNotReady
149-
};
150-
self.state_map.insert(copy *url, new_state);
151-
self.get_state(url)
152-
}
138+
*do self.state_map.find_or_insert_with(url.clone()) |_| {
139+
let new_state = @mut ImageState {
140+
prefetched: false,
141+
decoded: false,
142+
last_request_round: 0,
143+
last_response: ImageNotReady
144+
};
145+
new_state
153146
}
154147
}
155148
}

0 commit comments

Comments
 (0)