Skip to content

Commit

Permalink
gio: Use weak reference to ActionMap when adding action entries
Browse files Browse the repository at this point in the history
Otherwise it is not possible to drop the ActionMap without
dropping the actions first.
  • Loading branch information
zecakeh committed Oct 19, 2023
1 parent d1fdc2e commit 133f383
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions gio/src/action_map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ pub trait ActionMapExtManual: sealed::Sealed + IsA<ActionMap> {
};
let action_map = self.as_ref();
if let Some(callback) = entry.activate {
action.connect_activate(clone!(@strong action_map => move |action, state| {
action.connect_activate(clone!(@weak action_map => move |action, state| {
// safe to unwrap as O: IsA<ActionMap>
callback(action_map.downcast_ref::<Self>().unwrap(), action, state);
}));
}
if let Some(callback) = entry.change_state {
action.connect_change_state(clone!(@strong action_map => move |action, state| {
action.connect_change_state(clone!(@weak action_map => move |action, state| {
// safe to unwrap as O: IsA<ActionMap>
callback(action_map.downcast_ref::<Self>().unwrap(), action, state);
}));
Expand Down

0 comments on commit 133f383

Please sign in to comment.