Fix crash for dialog in debug mode
`Subscription::map` must be provided a non-capturing closure. A couple places were passing capturing closures, which caused a debug assert failure. These have been fixed.
This commit is contained in:
parent
02a96ba812
commit
76a3dd6279
1 changed files with 13 additions and 11 deletions
|
|
@ -251,7 +251,8 @@ impl<M: Send + 'static> Dialog<M> {
|
|||
self.cosmic
|
||||
.subscription()
|
||||
.map(DialogMessage)
|
||||
.map(self.mapper)
|
||||
.with(self.mapper)
|
||||
.map(|(mapper, message)| mapper(message))
|
||||
}
|
||||
|
||||
pub fn update(&mut self, message: DialogMessage) -> Task<M> {
|
||||
|
|
@ -1709,16 +1710,17 @@ impl Application for App {
|
|||
];
|
||||
|
||||
for (key, mounter) in MOUNTERS.iter() {
|
||||
let key = *key;
|
||||
subscriptions.push(mounter.subscription().map(move |mounter_message| {
|
||||
match mounter_message {
|
||||
MounterMessage::Items(items) => Message::MounterItems(key, items),
|
||||
_ => {
|
||||
log::warn!("{:?} not supported in dialog mode", mounter_message);
|
||||
Message::None
|
||||
}
|
||||
}
|
||||
}));
|
||||
subscriptions.push(
|
||||
mounter.subscription().with(*key).map(
|
||||
|(key, mounter_message)| match mounter_message {
|
||||
MounterMessage::Items(items) => Message::MounterItems(key, items),
|
||||
_ => {
|
||||
log::warn!("{:?} not supported in dialog mode", mounter_message);
|
||||
Message::None
|
||||
}
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Subscription::batch(subscriptions)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue