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

优化linux run, init gtk

上级 9cc258f0
......@@ -61,27 +61,25 @@ func Run(app *TCEFApplication) {
} else {
//externalMessagePump 和 multiThreadedMessageLoop 为 false 时, 启用 VF (ViewsFrameworkBrowserWindow) 窗口组件
if app.IsMessageLoop() {
// 启用VF窗口组件
BrowserWindow.appContextInitialized(app)
// 启用VFMessageLoop
// 初始化窗口组件
appContextInitialized(app)
}
if common.IsLinux() {
// linux gtk
lclwidget.CustomWidgetSetInitialization()
lcl.Application.Initialize()
}
// 启动主进程
success := app.StartMainProcess()
if success {
if app.IsUIGtk2() {
//LCL -> Linux GTK2 必须在主进程启动之后初始化组件
lclwidget.CustomWidgetSetInitialization()
}
// 主进程启动成功之后回调
if browserProcessStartAfterCallback != nil {
browserProcessStartAfterCallback(success)
}
appMainRunCallback()
if app.IsMessageLoop() {
if app.IsUIGtk2() {
//LCL -> Linux GTK2
lcl.Application.Initialize()
}
// VF窗口
// VF窗口 MessageLoop
app.RunMessageLoop()
} else {
// 创建LCL窗口组件
......
......@@ -118,13 +118,14 @@ func NewViewsFrameworkBrowserWindow(config *TCefChromiumConfig, windowProperty W
}
// ViewsFrameworkBrowserWindow 主窗口初始化
func (m *browserWindow) appContextInitialized(app *TCEFApplication) {
func appContextInitialized(app *TCEFApplication) {
// 仅主进程初始化主窗口,
// 子进程也不会初始, 判断一下省着多调用函数了
if !process.Args.IsMain() {
return
}
var bwEvent = BrowserWindow.browserEvent
var m = BrowserWindow
var bwEvent = m.browserEvent
// VF 主窗口在 application 上下文初始化时创建
app.SetOnContextInitialized(func() {
// 主窗口
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册