diff --git a/src/session/sidebar/room_row.rs b/src/session/sidebar/room_row.rs index a8234300..fba21688 100644 --- a/src/session/sidebar/room_row.rs +++ b/src/session/sidebar/room_row.rs @@ -77,6 +77,14 @@ mod imp { _ => unimplemented!(), } } + + fn dispose(&self, _obj: &Self::Type) { + if let Some(room) = self.room.take() { + if let Some(id) = self.signal_handler.take() { + room.disconnect(id); + } + } + } } impl WidgetImpl for RoomRow {}