From a36192ffd8f9489c8541e67f109facb83b0302d3 Mon Sep 17 00:00:00 2001 From: Areloch Date: Thu, 26 Oct 2017 20:11:35 -0500 Subject: [PATCH] Makes it properly force an update of the filter via a dirty flag. --- Engine/source/gui/controls/guiConsole.cpp | 6 +++++- Engine/source/gui/controls/guiConsole.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Engine/source/gui/controls/guiConsole.cpp b/Engine/source/gui/controls/guiConsole.cpp index 19cdf6b3d..b8987e8df 100644 --- a/Engine/source/gui/controls/guiConsole.cpp +++ b/Engine/source/gui/controls/guiConsole.cpp @@ -68,6 +68,7 @@ GuiConsole::GuiConsole() mDisplayErrors = true; mDisplayWarnings = true; mDisplayNormalMessages = true; + mFiltersDirty = true; } //----------------------------------------------------------------------------- @@ -108,7 +109,7 @@ void GuiConsole::refreshLogText() Con::getLockLog(log, size); - if (mFilteredLog.size() != size) + if (mFilteredLog.size() != size || mFiltersDirty) { mFilteredLog.clear(); @@ -221,6 +222,7 @@ void GuiConsole::setDisplayFilters(bool errors, bool warns, bool normal) mDisplayErrors = errors; mDisplayWarnings = warns; mDisplayNormalMessages = normal; + mFiltersDirty = true; refreshLogText(); @@ -235,6 +237,8 @@ void GuiConsole::setDisplayFilters(bool errors, bool warns, bool normal) setExtent(Point2I(mCellSize.x, mCellSize.y * mFilteredLog.size())); scrollCellVisible(Point2I(0, mSize.y - 1)); + + mFiltersDirty = false; } DefineEngineMethod(GuiConsole, setDisplayFilters, void, (bool errors, bool warns, bool normal), (true, true, true), diff --git a/Engine/source/gui/controls/guiConsole.h b/Engine/source/gui/controls/guiConsole.h index 217fe8d6a..8b9450e09 100644 --- a/Engine/source/gui/controls/guiConsole.h +++ b/Engine/source/gui/controls/guiConsole.h @@ -42,6 +42,7 @@ class GuiConsole : public GuiArrayCtrl bool mDisplayErrors; bool mDisplayWarnings; bool mDisplayNormalMessages; + bool mFiltersDirty; S32 getMaxWidth(S32 startIndex, S32 endIndex);