Intended behavior for virtual consoles: glyph of 0 isn't copied.
@@ -92,10 +92,12 @@ impl VirtualConsole {
let source_x = x + source.x1 - dest.x1;
if let Some(idx) = self.try_at(source_x, source_y) {
let t = self.tiles[idx];
+ if t.glyph > 0 {
target.set(x, y, t.fg, t.bg, t.glyph);
}
}
}
+ }
target.set_clipping(None);
}
@@ -114,10 +116,12 @@ impl VirtualConsole {
let source_x = x + source.x1 - dest.x1;
if let Some(idx) = self.try_at(source_x, source_y) {
let t = self.tiles[idx];
+ if t.glyph > 0 {
target.set(Point::new(x, y), ColorPair::new(t.fg, t.bg), t.glyph);
}
}
}
+ }
target.set_clipping(None);
}
}
