summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-02-11 21:31:52 +1100
committerJesse Duffield <jessedduffield@gmail.com>2021-04-06 19:34:32 +1000
commit4b1da0cf3c3f0e172ec87c49c28d946a96229967 (patch)
treeab1315c19e980dd7fc518456970e0736a6b10bfc /vendor
parent862ced3bd0d14775fd38f3780ae10ea9d2be8c24 (diff)
bump gocui again
Diffstat (limited to 'vendor')
-rw-r--r--vendor/github.com/jesseduffield/gocui/gui.go15
-rw-r--r--vendor/github.com/jesseduffield/gocui/tcell_driver.go2
2 files changed, 16 insertions, 1 deletions
diff --git a/vendor/github.com/jesseduffield/gocui/gui.go b/vendor/github.com/jesseduffield/gocui/gui.go
index 39db52886..79165d8de 100644
--- a/vendor/github.com/jesseduffield/gocui/gui.go
+++ b/vendor/github.com/jesseduffield/gocui/gui.go
@@ -248,6 +248,9 @@ func (g *Gui) SetView(name string, x0, y0, x1, y1 int, overlaps byte) (*View, er
// SetViewBeneath sets a view stacked beneath another view
func (g *Gui) SetViewBeneath(name string, aboveViewName string, height int) (*View, error) {
+ g.Mutexes.ViewsMutex.Lock()
+ defer g.Mutexes.ViewsMutex.Unlock()
+
aboveView, err := g.View(aboveViewName)
if err != nil {
return nil, err
@@ -315,7 +318,11 @@ func (g *Gui) ViewByPosition(x, y int) (*View, error) {
// traverse views in reverse order checking top views first
for i := len(g.views); i > 0; i-- {
v := g.views[i-1]
- if x > v.x0 && x < v.x1 && y > v.y0 && y < v.y1 {
+ frameOffset := 0
+ if v.Frame {
+ frameOffset = 1
+ }
+ if x > v.x0-frameOffset && x < v.x1+frameOffset && y > v.y0-frameOffset && y < v.y1+frameOffset {
return v, nil
}
}
@@ -325,6 +332,9 @@ func (g *Gui) ViewByPosition(x, y int) (*View, error) {
// ViewPosition returns the coordinates of the view with the given name, or
// error ErrUnknownView if a view with that name does not exist.
func (g *Gui) ViewPosition(name string) (x0, y0, x1, y1 int, err error) {
+ g.Mutexes.ViewsMutex.Lock()
+ defer g.Mutexes.ViewsMutex.Unlock()
+
for _, v := range g.views {
if v.name == name {
return v.x0, v.y0, v.x1, v.y1, nil
@@ -335,6 +345,9 @@ func (g *Gui) ViewPosition(name string) (x0, y0, x1, y1 int, err error) {
// DeleteView deletes a view by name.
func (g *Gui) DeleteView(name string) error {
+ g.Mutexes.ViewsMutex.Lock()
+ defer g.Mutexes.ViewsMutex.Unlock()
+
for i, v := range g.views {
if v.name == name {
g.views = append(g.views[:i], g.views[i+1:]...)
diff --git a/vendor/github.com/jesseduffield/gocui/tcell_driver.go b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
index 46a77a029..2f992e838 100644
--- a/vendor/github.com/jesseduffield/gocui/tcell_driver.go
+++ b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
@@ -211,6 +211,8 @@ func pollEvent() GocuiEvent {
}
switch dragState {
+ case NOT_DRAGGING:
+ return GocuiEvent{Type: eventNone}
// if we haven't released the left mouse button and we've moved the cursor then we're dragging
case MAYBE_DRAGGING:
if x != lastX || y != lastY {