Skip to content

Commit bd73ab0

Browse files
authored
fix(multiwebview): remove webview from store on close (#8766)
1 parent 48b1fd7 commit bd73ab0

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

.changes/fix-webview-close.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"tauri": patch:bug
3+
---
4+
5+
When using the multiwebview mode, properly remove the webview from memory on `Webview::close`.

core/tauri/src/manager/mod.rs

+4
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,10 @@ impl<R: Runtime> AppManager<R> {
543543
}
544544
}
545545

546+
pub(crate) fn on_webview_close(&self, label: &str) {
547+
self.webview.webviews_lock().remove(label);
548+
}
549+
546550
pub fn windows(&self) -> HashMap<String, Window<R>> {
547551
self.window.windows_lock().clone()
548552
}

core/tauri/src/webview/mod.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,9 @@ impl<R: Runtime> Webview<R> {
878878
if self.window.webview_window {
879879
self.window.close()
880880
} else {
881-
self.webview.dispatcher.close().map_err(Into::into)
881+
self.webview.dispatcher.close()?;
882+
self.manager().on_webview_close(self.label());
883+
Ok(())
882884
}
883885
}
884886

0 commit comments

Comments
 (0)