summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2003-01-22 15:33:34 (GMT)
committerBrad King <brad.king@kitware.com>2003-01-22 15:33:34 (GMT)
commit486454ef781a441334e876eef0c5d058526e97d4 (patch)
treeab1a52166bbf41fddbb533497a7c44d1e917cfe5 /Source/CursesDialog
parentc7b5bb6d2c11aa18d35670eb6c737ac70646efe3 (diff)
downloadCMake-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.cxx10
-rw-r--r--Source/CursesDialog/cmCursesMainForm.cxx9
-rw-r--r--Source/CursesDialog/cmCursesMainForm.h2
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