FlushTitle.patch (1,958 bytes)
Index: execute.cpp
===================================================================
--- execute.cpp (revision 14911)
+++ execute.cpp (working copy)
@@ -52,6 +52,7 @@
#include "string_utils.hpp"
#include "cvtname.hpp"
#include "RegExp.hpp"
+#include "scrbuf.hpp"
enum class image_type
{
@@ -1019,6 +1020,7 @@
вследствие своей оптимизации, которая в данном случае выходит боком.
*/
SetCursorType(Visible, CursorSize);
+ Global->ScrBuf->InvalidateTitle();
CONSOLE_CURSOR_INFO cci = { CursorSize, Visible };
Console().SetCursorInfo(cci);
Index: main.cpp
===================================================================
--- main.cpp (revision 14911)
+++ main.cpp (working copy)
@@ -482,7 +482,7 @@
SCOPED_ACTION(global);
- auto NoElevetionDuringBoot = std::make_unique<elevation::suppress>();
+ auto NoElevationDuringBoot = std::make_unique<elevation::suppress>();
SetErrorMode(Global->ErrorMode);
@@ -786,7 +786,7 @@
Global->CtrlObject = new ControlObject;
- NoElevetionDuringBoot.reset();
+ NoElevationDuringBoot.reset();
try
{
Index: scrbuf.cpp
===================================================================
--- scrbuf.cpp (revision 14911)
+++ scrbuf.cpp (working copy)
@@ -590,6 +590,11 @@
}
}
+void ScreenBuf::InvalidateTitle()
+{
+ SBFlags.Clear(SBFLAGS_FLUSHEDTITLE);
+}
+
void ScreenBuf::RestoreMacroChar()
{
if(MacroCharUsed)
Index: scrbuf.hpp
===================================================================
--- scrbuf.hpp (revision 14911)
+++ scrbuf.hpp (working copy)
@@ -77,6 +77,7 @@
void GetCursorType(bool& Visible, DWORD& Size) const;
const string& GetTitle() const { return m_Title; }
void SetTitle(const string& Title);
+ void InvalidateTitle();
void FillBuf();
void Read(int X1, int Y1, int X2, int Y2, matrix<FAR_CHAR_INFO>& Dest);