From 67f25189fd8bd33d599d6699f7a6e516a82541ce Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 27 May 2020 17:40:16 +0100 Subject: [PATCH] Fixed resizing update and correct the Toplevel colors without colors. --- Terminal.Gui/Drivers/CursesDriver.cs | 16 ++++++++++------ Terminal.Gui/MonoCurses/mainloop.cs | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Terminal.Gui/Drivers/CursesDriver.cs b/Terminal.Gui/Drivers/CursesDriver.cs index 830599e517..9ff36ade71 100644 --- a/Terminal.Gui/Drivers/CursesDriver.cs +++ b/Terminal.Gui/Drivers/CursesDriver.cs @@ -487,6 +487,7 @@ public override void Init (Action terminalResized) TopTee = Curses.ACS_TTEE; BottomTee = Curses.ACS_BTEE; + Colors.TopLevel = new ColorScheme (); Colors.Base = new ColorScheme (); Colors.Dialog = new ColorScheme (); Colors.Menu = new ColorScheme (); @@ -496,6 +497,11 @@ public override void Init (Action terminalResized) Curses.StartColor (); Curses.UseDefaultColors (); + Colors.TopLevel.Normal = MakeColor (Curses.COLOR_GREEN, Curses.COLOR_BLACK); + Colors.TopLevel.Focus = MakeColor (Curses.COLOR_WHITE, Curses.COLOR_CYAN); + Colors.TopLevel.HotNormal = MakeColor (Curses.COLOR_YELLOW, Curses.COLOR_BLACK); + Colors.TopLevel.HotFocus = MakeColor (Curses.COLOR_YELLOW, Curses.COLOR_CYAN); + Colors.Base.Normal = MakeColor (Curses.COLOR_WHITE, Curses.COLOR_BLUE); Colors.Base.Focus = MakeColor (Curses.COLOR_BLACK, Curses.COLOR_CYAN); Colors.Base.HotNormal = Curses.A_BOLD | MakeColor (Curses.COLOR_YELLOW, Curses.COLOR_BLUE); @@ -522,6 +528,10 @@ public override void Init (Action terminalResized) Colors.Error.HotNormal = Curses.A_BOLD | MakeColor (Curses.COLOR_YELLOW, Curses.COLOR_RED); Colors.Error.HotFocus = Colors.Error.HotNormal; } else { + Colors.TopLevel.Normal = Curses.COLOR_GREEN; + Colors.TopLevel.Focus = Curses.COLOR_WHITE; + Colors.TopLevel.HotNormal = Curses.COLOR_YELLOW; + Colors.TopLevel.HotFocus = Curses.COLOR_YELLOW; Colors.Base.Normal = Curses.A_NORMAL; Colors.Base.Focus = Curses.A_REVERSE; Colors.Base.HotNormal = Curses.A_BOLD; @@ -539,12 +549,6 @@ public override void Init (Action terminalResized) Colors.Error.HotNormal = Curses.A_BOLD | Curses.A_REVERSE; Colors.Error.HotFocus = Curses.A_REVERSE; } - Colors.TopLevel = new ColorScheme (); - - Colors.TopLevel.Normal = MakeColor (Curses.COLOR_GREEN, Curses.COLOR_BLACK); - Colors.TopLevel.Focus = MakeColor (Curses.COLOR_WHITE, Curses.COLOR_CYAN); - Colors.TopLevel.HotNormal = MakeColor (Curses.COLOR_YELLOW, Curses.COLOR_BLACK); - Colors.TopLevel.HotFocus = MakeColor (Curses.COLOR_YELLOW, Curses.COLOR_CYAN); } static int MapColor (Color color) diff --git a/Terminal.Gui/MonoCurses/mainloop.cs b/Terminal.Gui/MonoCurses/mainloop.cs index 4bc95fba5a..7b7610f165 100644 --- a/Terminal.Gui/MonoCurses/mainloop.cs +++ b/Terminal.Gui/MonoCurses/mainloop.cs @@ -188,7 +188,7 @@ void UpdatePollMap () poll_dirty = false; pollmap = new Pollfd [descriptorWatchers.Count]; - int i = 0; + int i = 0; foreach (var fd in descriptorWatchers.Keys) { pollmap [i].fd = fd; pollmap [i].events = (short)descriptorWatchers [fd].Condition; @@ -208,7 +208,7 @@ bool IMainLoopDriver.EventsPending (bool wait) while (true) { n = poll (pollmap, (uint)pollmap.Length, 0); - if (n > 0) { + if (pollmap != null) { break; } if (mainLoop.idleHandlers.Count > 0 || CkeckTimeout (wait, ref pollTimeout)) {