Browse Source

ccmake: Fix mangled configuration log with PDCurses on Windows

This fix seems to work on both Windows and Ubuntu (WSL).

Issue: #18053
Duncan Ogilvie 3 years ago
parent
commit
a78d10220c
1 changed files with 4 additions and 2 deletions
  1. 4 2
      Source/CursesDialog/cmCursesLongMessageForm.cxx

+ 4 - 2
Source/CursesDialog/cmCursesLongMessageForm.cxx

@@ -43,7 +43,8 @@ void cmCursesLongMessageForm::UpdateContent(std::string const& output,
   if (!output.empty() && this->Messages.size() < MAX_CONTENT_SIZE) {
     this->Messages.push_back('\n');
     this->Messages.append(output);
-    form_driver(this->Form, REQ_NEW_LINE);
+    form_driver(this->Form, REQ_NEXT_LINE);
+    form_driver(this->Form, REQ_BEG_LINE);
     this->DrawMessage(output.c_str());
   }
 
@@ -152,7 +153,8 @@ void cmCursesLongMessageForm::DrawMessage(const char* msg) const
   int i = 0;
   while (msg[i] != '\0' && i < MAX_CONTENT_SIZE) {
     if (msg[i] == '\n' && msg[i + 1] != '\0') {
-      form_driver(this->Form, REQ_NEW_LINE);
+      form_driver(this->Form, REQ_NEXT_LINE);
+      form_driver(this->Form, REQ_BEG_LINE);
     } else {
       form_driver(this->Form, msg[i]);
     }