浏览代码

Makes it properly force an update of the filter via a dirty flag.

Areloch 7 年之前
父节点
当前提交
0e58300de8
共有 2 个文件被更改,包括 6 次插入1 次删除
  1. 5 1
      Engine/source/gui/controls/guiConsole.cpp
  2. 1 0
      Engine/source/gui/controls/guiConsole.h

+ 5 - 1
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),

+ 1 - 0
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);