diff --git a/v3/pkg/application/webview_window_darwin.go b/v3/pkg/application/webview_window_darwin.go index 4a5dc285..ccfd9314 100644 --- a/v3/pkg/application/webview_window_darwin.go +++ b/v3/pkg/application/webview_window_darwin.go @@ -936,10 +936,11 @@ func (w *macosWebviewWindow) windowZoom() { } func (w *macosWebviewWindow) close() { - C.windowClose(w.nsWindow) - if !w.parent.options.HideOnClose { - globalApplication.deleteWindowByID(w.parent.id) + if w.parent.options.HideOnClose { + w.hide() + return } + C.windowClose(w.nsWindow) } func (w *macosWebviewWindow) zoomIn() { @@ -1196,6 +1197,11 @@ func (w *macosWebviewWindow) run() { globalApplication.deleteWindowByID(w.parent.id) }) + w.parent.On(events.Mac.WindowShouldClose, func(_ *WindowEventContext) { + // TODO: Process "should close" callback for user + w.close() + }) + if w.parent.options.HTML != "" { w.setHTML(w.parent.options.HTML) }