From 6ac9784bef77671a8718dac11bbe7355fbae5ff6 Mon Sep 17 00:00:00 2001 From: "Jonathan Leibiusky @xetorthio" Date: Thu, 14 Sep 2017 16:03:27 -0300 Subject: [PATCH] Make sure that we don't use weird geometries --- pwd/session.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pwd/session.go b/pwd/session.go index 8ece8a1..3cdc1d9 100644 --- a/pwd/session.go +++ b/pwd/session.go @@ -130,12 +130,22 @@ func (p *pwd) SessionGetSmallestViewPort(sessionId string) types.ViewPort { log.Printf("Session [%s] doesn't have clients. Returning default viewport\n", sessionId) return types.ViewPort{Rows: 24, Cols: 80} } - minRows := clients[0].ViewPort.Rows - minCols := clients[0].ViewPort.Cols + var minRows uint + var minCols uint for _, c := range clients { - minRows = uint(math.Min(float64(minRows), float64(c.ViewPort.Rows))) - minCols = uint(math.Min(float64(minCols), float64(c.ViewPort.Cols))) + if c.ViewPort.Rows > 0 && c.ViewPort.Cols > 0 { + minRows = uint(c.ViewPort.Rows) + minCols = uint(c.ViewPort.Cols) + break + } + } + + for _, c := range clients { + if c.ViewPort.Rows > 0 && c.ViewPort.Cols > 0 { + minRows = uint(math.Min(float64(minRows), float64(c.ViewPort.Rows))) + minCols = uint(math.Min(float64(minCols), float64(c.ViewPort.Cols))) + } } return types.ViewPort{Rows: minRows, Cols: minCols}