From a1a32ba6268a0cc2129137ed3e0b225a1549a1f3 Mon Sep 17 00:00:00 2001 From: cuu Date: Sat, 8 Dec 2018 13:28:30 +0800 Subject: [PATCH] bug fix --- .../GameShell/10_Settings/Wifi/plugin_init.go | 28 +++++++++++-------- main.go | 13 +++++++-- sysgo/DBUS/dbus.go | 8 ++++-- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/Menu/GameShell/10_Settings/Wifi/plugin_init.go b/Menu/GameShell/10_Settings/Wifi/plugin_init.go index 6d30df6..325fc73 100644 --- a/Menu/GameShell/10_Settings/Wifi/plugin_init.go +++ b/Menu/GameShell/10_Settings/Wifi/plugin_init.go @@ -1,6 +1,7 @@ package main import ( + gotime "time" /* "github.com/veandco/go-sdl2/ttf" @@ -35,20 +36,25 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) { self.ScanPage.Screen = main_screen self.ScanPage.Init() - - if self.ScanPage.Daemon != nil { - self.ScanPage.Daemon.EnableSignal("StatusChanged") - self.ScanPage.Daemon.EnableSignal("ConnectResultsSent") - self.ScanPage.Wireless.EnableSignal("SendStartScanSignal") - self.ScanPage.Wireless.EnableSignal("SendEndScanSignal") + + go func() { + gotime.Sleep(2000 * gotime.Millisecond) - self.ScanPage.Daemon.SigFuncs["StatusChanged"] = self.ScanPage.DbusDaemonStatusChangedSig - self.ScanPage.Daemon.SigFuncs["ConnectResultSent"] = self.ScanPage.DbusConnectResultsSent + if self.ScanPage.Daemon != nil { - self.ScanPage.Wireless.SigFuncs["SendStartScanSignal"] = self.ScanPage.WifiDbusScanStarted - self.ScanPage.Wireless.SigFuncs["SendEndScanSignal"] = self.ScanPage.WifiDbusScanFinishedSig + self.ScanPage.Daemon.EnableSignal("StatusChanged") + self.ScanPage.Daemon.EnableSignal("ConnectResultsSent") + self.ScanPage.Wireless.EnableSignal("SendStartScanSignal") + self.ScanPage.Wireless.EnableSignal("SendEndScanSignal") - } + self.ScanPage.Daemon.SigFuncs["StatusChanged"] = self.ScanPage.DbusDaemonStatusChangedSig + self.ScanPage.Daemon.SigFuncs["ConnectResultSent"] = self.ScanPage.DbusConnectResultsSent + + self.ScanPage.Wireless.SigFuncs["SendStartScanSignal"] = self.ScanPage.WifiDbusScanStarted + self.ScanPage.Wireless.SigFuncs["SendEndScanSignal"] = self.ScanPage.WifiDbusScanFinishedSig + } + }() + } func (self *WifiPlugin) Run( main_screen *UI.MainScreen ) { diff --git a/main.go b/main.go index 8e7a512..e090a0a 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( "strings" "runtime" "path/filepath" + "os/exec" gotime "time" "github.com/veandco/go-sdl2/sdl" @@ -289,8 +290,16 @@ func run() int { exec_app_cmd += ev.Data["Msg"] exec_app_cmd +="; sync & cd "+UI.GetExePath()+"; "+os.Args[0] fmt.Println(exec_app_cmd) - - + cmd := exec.Command("/bin/sh","-c",exec_app_cmd) + err := cmd.Start() + if err != nil { + fmt.Println(err) + } + err = cmd.Process.Release() + if err != nil { + fmt.Println(err) + } + os.Exit(0) } diff --git a/sysgo/DBUS/dbus.go b/sysgo/DBUS/dbus.go index ab6895c..fc54a76 100644 --- a/sysgo/DBUS/dbus.go +++ b/sysgo/DBUS/dbus.go @@ -214,9 +214,11 @@ func (self *DBus) ListenSignal() { var DBusHandler *DBus //global func init() { - DBusHandler = NewDBus() - DBusHandler.Init() + if DBusHandler == nil { + DBusHandler = NewDBus() + DBusHandler.Init() - go DBusHandler.ListenSignal() + go DBusHandler.ListenSignal() + } }