summaryrefslogtreecommitdiff
path: root/window.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2021-10-05 10:23:27 -0500
committerJeff Carr <[email protected]>2021-10-05 10:23:27 -0500
commit7ba7b97fa9d385e18c1f9636553db254f14383d0 (patch)
tree973da9d78f143ffd9e7faab06fa9b67499f4fe0f /window.go
parent11815517c6e566e47d3da61c4b852dd791dbd799 (diff)
BUG: fix potential 'nil' reference
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'window.go')
-rw-r--r--window.go50
1 files changed, 23 insertions, 27 deletions
diff --git a/window.go b/window.go
index e170278..e64e10b 100644
--- a/window.go
+++ b/window.go
@@ -45,21 +45,17 @@ func ErrorWindow(gw *GuiWindow, msg1 string, msg2 string) {
// actual window but that does not appear to work on the MacOS or Windows
//
func InitWindow(gw *GuiWindow, name string, axis int) *GuiBox {
- window := Data.WindowMap[name]
- if (window != nil) {
- box := window.BoxMap["MAINBOX"]
- log.Println("gui.InitWindow() tab already exists name =", name)
- ErrorWindow(box.Window, "Create Window Error", "Window " + name + " already exists")
- return nil
+ log.Println("InitGuiWindow() START")
+
+ var box *GuiBox
+ if (gw == nil) {
+ box = mapWindow(nil, name, Config.Height, Config.Width)
+ } else {
+ box = mapWindow(gw.UiWindow, name, Config.Height, Config.Width)
}
- // return mapWindow(window, name, Config.Height, Config.Width)
- log.Println("InitGuiWindow() START")
- var newGuiWindow GuiWindow
- newGuiWindow.Height = Config.Height
- newGuiWindow.Width = Config.Width
- newGuiWindow.Axis = axis
- newGuiWindow.Name = name
+ // box.Window = &newGuiWindow
+ newGuiWindow := box.Window
// This is the first window. One must create it here
if (gw == nil) {
@@ -75,7 +71,7 @@ func InitWindow(gw *GuiWindow, name string, axis int) *GuiBox {
ui.Quit()
} else {
// allow a custom exit function
- Config.Exit(&newGuiWindow)
+ Config.Exit(newGuiWindow)
}
return true
})
@@ -102,15 +98,9 @@ func InitWindow(gw *GuiWindow, name string, axis int) *GuiBox {
newGuiWindow.TabNumber = &tabnum
}
- Data.WindowMap[newGuiWindow.Name] = &newGuiWindow
+ Data.WindowMap[newGuiWindow.Name] = newGuiWindow
- var box *GuiBox
- if (axis == Xaxis) {
- box = HardBox(&newGuiWindow, Xaxis, name)
- } else {
- box = HardBox(&newGuiWindow, Yaxis, name)
- }
- log.Println("InitGuiWindow() END *GuiWindow =", &newGuiWindow)
+ log.Println("InitGuiWindow() END *GuiWindow =", newGuiWindow)
return box
}
@@ -181,7 +171,18 @@ func initBlankWindow() ui.Control {
return hbox
}
+var master = 0
+
func mapWindow(window *ui.Window, title string, x int, y int) *GuiBox {
+ if (Data.WindowMap[title] != nil) {
+ log.Println("Data.WindowMap[title] already exists title =", title)
+ title = title + string(master)
+ }
+ if (Data.WindowMap[title] != nil) {
+ log.Println("Data.WindowMap[title] already exists title =", title)
+ panic("Data.WindowMap[newGuiWindow.Name] already exists")
+ return nil
+ }
var newGuiWindow GuiWindow
newGuiWindow.Width = x
newGuiWindow.Height = y
@@ -191,11 +192,6 @@ func mapWindow(window *ui.Window, title string, x int, y int) *GuiBox {
newGuiWindow.BoxMap = make(map[string]*GuiBox)
newGuiWindow.EntryMap = make(map[string]*GuiEntry)
- if (Data.WindowMap[newGuiWindow.Name] != nil) {
- log.Println("Data.WindowMap[newGuiWindow.Name] already exists\n")
- panic("Data.WindowMap[newGuiWindow.Name] already exists")
- return nil
- }
Data.WindowMap[newGuiWindow.Name] = &newGuiWindow
var box GuiBox