提交 c2071dc8 编写于 作者: yanghye's avatar yanghye

FIX: windows7、8 关闭后进程还存在问题

上级 ad327a1f
......@@ -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()
......
......@@ -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()
......
......@@ -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) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册