fix: break from loop instead of unwrapping

This commit is contained in:
Ashley Wulber 2026-03-19 11:53:57 -04:00 • committed by Ashley Wulber
parent 7fa5bd6b91
commit 1dab42ed56

View file

@ -3,6 +3,7 @@
//! Compare to Mutter's `MetaDbusAccessChecker` //! Compare to Mutter's `MetaDbusAccessChecker`
use futures_executor::ThreadPool; use futures_executor::ThreadPool;
use futures_util::stream::FusedStream;
use futures_util::{StreamExt, stream::FuturesUnordered}; use futures_util::{StreamExt, stream::FuturesUnordered};
use std::{ use std::{
collections::{HashMap, HashSet}, collections::{HashMap, HashSet},
@ -38,9 +39,15 @@ impl Inner {
/// Process all events so far on `stream`, and update `name_owners`. /// Process all events so far on `stream`, and update `name_owners`.
fn update_if_needed(&mut self) { fn update_if_needed(&mut self) {
let mut context = Context::from_waker(&self.waker); let mut context = Context::from_waker(&self.waker);
while let Poll::Ready(val) = self.stream.poll_next_unpin(&mut context) { while !self.stream.is_terminated()
let val = val.unwrap(); && let Poll::Ready(val) = self.stream.poll_next_unpin(&mut context)
let args = val.args().unwrap(); {
let Some(val) = val else {
break;
};
let Ok(args) = val.args() else {
break;
};
match args.name { match args.name {
BusName::Unique(name) => { BusName::Unique(name) => {
if args.new_owner.is_some() { if args.new_owner.is_some() {