From bc4acaaeaccb156b2bdefd838948b9aa49760cc5 Mon Sep 17 00:00:00 2001 From: Autumn Date: Fri, 1 Sep 2023 20:14:29 -0700 Subject: [PATCH 1/2] fix size_hint implementations in driver iterators --- src/sdl2/audio.rs | 4 ++-- src/sdl2/render.rs | 4 ++-- src/sdl2/video.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sdl2/audio.rs b/src/sdl2/audio.rs index 752dfd8a04..9303b1959b 100644 --- a/src/sdl2/audio.rs +++ b/src/sdl2/audio.rs @@ -372,8 +372,8 @@ impl Iterator for DriverIterator { #[inline] fn size_hint(&self) -> (usize, Option) { - let l = self.length as usize; - (l, Some(l)) + let remaining = (self.length - self.index) as usize; + (remaining, Some(remaining)) } } diff --git a/src/sdl2/render.rs b/src/sdl2/render.rs index c0eb6e7510..99ce07d09e 100644 --- a/src/sdl2/render.rs +++ b/src/sdl2/render.rs @@ -2576,8 +2576,8 @@ impl Iterator for DriverIterator { #[inline] fn size_hint(&self) -> (usize, Option) { - let l = self.length as usize; - (l, Some(l)) + let remaining = (self.length - self.index) as usize; + (remaining, Some(remaining)) } } diff --git a/src/sdl2/video.rs b/src/sdl2/video.rs index da7a279a70..872e47b4bb 100644 --- a/src/sdl2/video.rs +++ b/src/sdl2/video.rs @@ -2012,8 +2012,8 @@ impl Iterator for DriverIterator { #[inline] fn size_hint(&self) -> (usize, Option) { - let l = self.length as usize; - (l, Some(l)) + let remaining = (self.length - self.index) as usize; + (remaining, Some(remaining)) } } From 96d4379585831aa363ae6ced6d3f1cf4f3510abe Mon Sep 17 00:00:00 2001 From: Autumn Date: Fri, 1 Sep 2023 20:18:32 -0700 Subject: [PATCH 2/2] add #1332 to changelog.md --- changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog.md b/changelog.md index d52eac0b6d..76e35bdeda 100644 --- a/changelog.md +++ b/changelog.md @@ -14,6 +14,8 @@ when upgrading from a version of rust-sdl2 to another. [PR #1318](https://github.com/Rust-SDL2/rust-sdl2/pull/1318) Add NV12, NV21 to PixelFormatEnum +[PR #1332](https://github.com/Rust-SDL2/rust-sdl2/pull/1332) Fix `size_hint` implementations for `{audio,video,render}::DriverIterator` + ### v0.35.2 [PR #1173](https://github.com/Rust-SDL2/rust-sdl2/pull/1173) Fix segfault when using timer callbacks