diff options
author | Brad King <brad.king@kitware.com> | 2003-01-22 15:33:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2003-01-22 15:33:34 (GMT) |
commit | 486454ef781a441334e876eef0c5d058526e97d4 (patch) | |
tree | ab1a52166bbf41fddbb533497a7c44d1e917cfe5 /Source/CursesDialog | |
parent | c7b5bb6d2c11aa18d35670eb6c737ac70646efe3 (diff) | |
download | CMake-486454ef781a441334e876eef0c5d058526e97d4.zip CMake-486454ef781a441334e876eef0c5d058526e97d4.tar.gz CMake-486454ef781a441334e876eef0c5d058526e97d4.tar.bz2 |
BUG: Fixed crash when CMAKE_ROOT cannot be found.
Diffstat (limited to 'Source/CursesDialog')
-rw-r--r-- | Source/CursesDialog/ccmake.cxx | 10 | ||||
-rw-r--r-- | Source/CursesDialog/cmCursesMainForm.cxx | 9 | ||||
-rw-r--r-- | Source/CursesDialog/cmCursesMainForm.h | 2 |
3 files changed, 17 insertions, 4 deletions
diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx index e46278a..fad6315 100644 --- a/Source/CursesDialog/ccmake.cxx +++ b/Source/CursesDialog/ccmake.cxx @@ -127,7 +127,15 @@ int main(int argc, char** argv) cmCursesMainForm* myform; myform = new cmCursesMainForm(args, x); - myform->LoadCache(cacheDir.c_str()); + if(myform->LoadCache(cacheDir.c_str())) + { + curses_clear(); + touchwin(stdscr); + endwin(); + delete myform; + std::cerr << "Error running cmake::LoadCache(). Aboriting.\n"; + return 1; + } cmSystemTools::SetErrorCallback(CMakeErrorHandler, myform); diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index f13d4a2..26e3bcc 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -1058,11 +1058,16 @@ void cmCursesMainForm::HandleInput() } } -void cmCursesMainForm::LoadCache(const char *) +int cmCursesMainForm::LoadCache(const char *) { - m_CMakeInstance->LoadCache(); + int r = m_CMakeInstance->LoadCache(); + if(r < 0) + { + return r; + } m_CMakeInstance->SetCacheArgs(m_Args); + return r; } diff --git a/Source/CursesDialog/cmCursesMainForm.h b/Source/CursesDialog/cmCursesMainForm.h index 3281e18..08d8f7e 100644 --- a/Source/CursesDialog/cmCursesMainForm.h +++ b/Source/CursesDialog/cmCursesMainForm.h @@ -101,7 +101,7 @@ public: /** * Used by main program */ - void LoadCache(const char *dir); + int LoadCache(const char *dir); /** * Progress callback |