fix: crash when a sink input was removed
This commit is contained in:
24
src/mixer.rs
24
src/mixer.rs
@@ -238,20 +238,18 @@ impl Mixer {
|
|||||||
Some(current_index) => {
|
Some(current_index) => {
|
||||||
drop(selected_index_lock);
|
drop(selected_index_lock);
|
||||||
|
|
||||||
let removed_sink_input_index = self
|
if let Some(removed_sink_input_index) =
|
||||||
.sink_inputs
|
self.sink_inputs.keys().position(|k| *k == sink_index)
|
||||||
.keys()
|
{
|
||||||
.position(|k| *k == sink_index)
|
let current_key =
|
||||||
.unwrap();
|
*self.sink_inputs.keys().nth(current_index).unwrap();
|
||||||
|
|
||||||
let current_key =
|
if self.sink_inputs.remove(&sink_index).is_some() {
|
||||||
*self.sink_inputs.keys().nth(current_index).unwrap();
|
if sink_index == current_key
|
||||||
|
|| removed_sink_input_index > current_index
|
||||||
if self.sink_inputs.remove(&sink_index).is_some() {
|
{
|
||||||
if sink_index == current_key
|
self.select_previous();
|
||||||
|| removed_sink_input_index > current_index
|
}
|
||||||
{
|
|
||||||
self.select_previous();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user