ccmake: Fix rendering on window resize

Repro steps: configure (without errors), the logs are displayed then the
cache is displayed again, resize the window up -> the logs are
redisplayed after resize instead of the cache

The 'CurrentForm' pointer were left pointed to the last log message
form, this resets it to the main form when configure or generate is done
This commit is contained in:
Sylvain Joubert 2019-11-18 13:21:08 +01:00
parent f63d84c37c
commit ce99f5ee69

View File

@ -498,10 +498,6 @@ void cmCursesMainForm::UpdateProgress(const std::string& msg, float prog)
int cmCursesMainForm::Configure(int noconfigure)
{
int xi;
int yi;
getmaxyx(stdscr, yi, xi);
this->ResetOutputs();
if (noconfigure == 0) {
@ -559,11 +555,13 @@ int cmCursesMainForm::Configure(int noconfigure)
if (retVal == -2) {
return retVal;
}
CurrentForm = this;
this->Render(1, 1, xx, yy);
}
this->InitializeUI();
CurrentForm = this;
int xi;
int yi;
getmaxyx(stdscr, yi, xi);
this->Render(1, 1, xi, yi);
return 0;
@ -571,10 +569,6 @@ int cmCursesMainForm::Configure(int noconfigure)
int cmCursesMainForm::Generate()
{
int xi;
int yi;
getmaxyx(stdscr, yi, xi);
this->ResetOutputs();
this->UpdateProgress("Generating", 0);
@ -614,11 +608,13 @@ int cmCursesMainForm::Generate()
if (retVal == -2) {
return retVal;
}
CurrentForm = this;
this->Render(1, 1, xx, yy);
}
this->InitializeUI();
CurrentForm = this;
int xi;
int yi;
getmaxyx(stdscr, yi, xi);
this->Render(1, 1, xi, yi);
return 0;