From c2071dc89c2a3af7ff902fadec7edec581ebb212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E7=BA=A2=E5=B2=A9?= Date: Fri, 4 Nov 2022 19:13:27 +0800 Subject: [PATCH] =?UTF-8?q?FIX:=20windows7=E3=80=818=20=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=90=8E=E8=BF=9B=E7=A8=8B=E8=BF=98=E5=AD=98=E5=9C=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cef/cef-aux-dev-tools-window.go | 1 + cef/cef-aux-view-source-window.go | 1 + cef/cef-base-browser-window.go | 15 ++++++++------- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/cef/cef-aux-dev-tools-window.go b/cef/cef-aux-dev-tools-window.go index 71a773c..d619592 100644 --- a/cef/cef-aux-dev-tools-window.go +++ b/cef/cef-aux-dev-tools-window.go @@ -46,6 +46,7 @@ func createBrowserDevTools(browser *ICefBrowser, browserWinInfo *TCefWindowInfo) winAuxTools.devToolsWindow.defaultWindowCloseEvent() winAuxTools.devToolsWindow.SetWidth(1024) winAuxTools.devToolsWindow.SetHeight(768) + winAuxTools.devToolsWindow.SetShowInTaskBar() winAuxTools.devToolsWindow.SetOnResize(func(sender lcl.IObject) { winAuxTools.devToolsX = winAuxTools.devToolsWindow.Left() diff --git a/cef/cef-aux-view-source-window.go b/cef/cef-aux-view-source-window.go index cd99fe5..ffe0882 100644 --- a/cef/cef-aux-view-source-window.go +++ b/cef/cef-aux-view-source-window.go @@ -49,6 +49,7 @@ func createBrowserViewSource(browser *ICefBrowser, frame *ICefFrame) { QueueAsyncCall(func(id int) { var m = BrowserWindow.popupWindow if m != nil { + m.SetShowInTaskBar() m.SetWindowType(WT_VIEW_SOURCE) m.ChromiumCreate(nil, viewSourceUrl) m.chromium.EnableIndependentEvent() diff --git a/cef/cef-base-browser-window.go b/cef/cef-base-browser-window.go index 625bcf5..8e67b45 100644 --- a/cef/cef-base-browser-window.go +++ b/cef/cef-base-browser-window.go @@ -17,7 +17,9 @@ import ( "github.com/energye/energy/logger" "github.com/energye/golcl/lcl" "github.com/energye/golcl/lcl/api" + "github.com/energye/golcl/lcl/rtl" "github.com/energye/golcl/lcl/types" + "github.com/energye/golcl/lcl/types/messages" "time" ) @@ -452,8 +454,6 @@ func (m *BaseWindow) registerDefaultEvent() { func (m *BaseWindow) registerDefaultChromiumCloseEvent() { var bwEvent = BrowserWindow.browserEvent m.chromium.SetOnClose(func(sender lcl.IObject, browser *ICefBrowser, aAction *TCefCloseBrowsesAction) { - BrowserWindow.uiLock.Lock() - defer BrowserWindow.uiLock.Unlock() if IsDarwin() { //MacOSX m.windowParent.DestroyChildWindow() } else { // Window and Linux @@ -462,10 +462,10 @@ func (m *BaseWindow) registerDefaultChromiumCloseEvent() { }) } if IsLinux() { - //继续关闭 + //继续关闭 -> OnBeforeClose *aAction = CbaClose } else { - //暂时停止关闭 + //暂时停止关闭 -> OnBeforeClose *aAction = CbaDelay } if bwEvent.onClose != nil { @@ -473,8 +473,6 @@ func (m *BaseWindow) registerDefaultChromiumCloseEvent() { } }) m.chromium.SetOnBeforeClose(func(sender lcl.IObject, browser *ICefBrowser) { - BrowserWindow.uiLock.Lock() - defer BrowserWindow.uiLock.Unlock() m.canClose = true var tempClose = func() { defer func() { @@ -489,9 +487,12 @@ func (m *BaseWindow) registerDefaultChromiumCloseEvent() { m.windowInfo.auxTools.devToolsWindow.Close() } BrowserWindow.removeWindowInfo(m.windowId) + //主窗口关闭 if m.WindowType() == WT_MAIN_BROWSER { - //主窗口关闭调用Close函数 m.Close() + if IsWindows() { + rtl.PostMessage(m.Handle(), messages.WM_CLOSE, 0, 0) + } } } QueueAsyncCall(func(id int) { -- GitLab