diff --git a/hammond-gtk/src/widgets/player.rs b/hammond-gtk/src/widgets/player.rs index 8c1d338..596eb35 100644 --- a/hammond-gtk/src/widgets/player.rs +++ b/hammond-gtk/src/widgets/player.rs @@ -342,22 +342,13 @@ impl PlayerExt for PlayerWidget { return; } + let duration = self.player.get_duration(); let destination = match direction { - SeekDirection::Backwards => { - if position >= offset { - Some(position - offset) - } else { - None - } - } - SeekDirection::Forward => { - let duration = self.player.get_duration(); - if duration != ClockTime::none() && position + offset <= duration { - Some(position + offset) - } else { - None - } + SeekDirection::Backwards if position >= offset => Some(position - offset), + SeekDirection::Forward if !duration.is_none() && position + offset <= duration => { + Some(position + offset) } + _ => None, }; destination.map(|d| self.player.seek(d));