From 9876c55989dc1f36ba572fdb2e9c03dff2aea31e Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Tue, 9 Jul 2019 19:46:46 +0200 Subject: [PATCH] Update png to newly release 0.15 Some minor compatibility fixes for updated png interfaces. --- Cargo.toml | 2 +- src/png.rs | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ce57aaebb2..9acefe3541 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ default-features = false optional = true [dependencies.png] -version = "0.14" +version = "0.15" optional = true [dependencies.scoped_threadpool] diff --git a/src/png.rs b/src/png.rs index ecb3e32105..6c6a4de21b 100644 --- a/src/png.rs +++ b/src/png.rs @@ -8,9 +8,6 @@ extern crate png; -use self::png::HasParameters; - -use std; use std::io::{self, Read, Write}; use color::ColorType; @@ -101,7 +98,7 @@ impl PNGDecoder { /// Creates a new decoder that decodes from the stream ```r``` pub fn new(r: R) -> ImageResult> { let limits = png::Limits { - pixels: std::u64::MAX, + bytes: usize::max_value(), }; let decoder = png::Decoder::new_with_limits(r, limits); let (_, mut reader) = decoder.read_info()?; @@ -157,7 +154,8 @@ impl PNGEncoder { pub fn encode(self, data: &[u8], width: u32, height: u32, color: ColorType) -> io::Result<()> { let (ct, bits) = color.into(); let mut encoder = png::Encoder::new(self.w, width, height); - encoder.set(ct).set(bits); + encoder.set_color(ct); + encoder.set_depth(bits); let mut writer = try!(encoder.write_header()); writer.write_image_data(data).map_err(|e| e.into()) } @@ -205,6 +203,7 @@ impl From for ImageError { CorruptFlateStream => { ImageError::FormatError("compressed data stream corrupted".into()) } + LimitsExceeded => ImageError::InsufficientMemory, } } }