CVS commit by dagerbo: Using KShellProcess doesn't appear to be necessary in this case. Changing to KProcess let's us be notified about tags file creation failure. Only tested with CVS HEAD, but api-wise everything should be there for KDE-3.0+ Closing Bug #63135. M +16 -16 ctagspart.cpp 1.22 --- kdevelop/parts/ctags/ctagspart.cpp #1.21:1.22 @@ -204,5 +204,5 @@ bool CTagsPart::ensureTagsLoaded() return false; if (!createTagsFile()) { - KMessageBox::sorry(mainWindow()->main(), i18n("Could not create tags file")); + KMessageBox::sorry(mainWindow()->main(), i18n("Could not create tags file!\n\nPlease make sure 'ctags' can be found in your PATH.")); return false; } @@ -296,17 +296,17 @@ bool CTagsPart::createTagsFile() kdDebug(9022) << "create tags file" << endl; - QString cmd = "cd "; - cmd += KShellProcess::quote(project()->projectDirectory()); - cmd += " && ctags -n --c++-types=+px"; + KProcess proc; + proc.setWorkingDirectory( project()->projectDirectory() ); + + proc << "ctags"; + proc << "-n"; + proc << "--c++-types=+px"; QStringList l = project()->allFiles(); QStringList::ConstIterator it; - for (it = l.begin(); it != l.end(); ++it) { - cmd += " "; - cmd += KShellProcess::quote(*it); + for (it = l.begin(); it != l.end(); ++it) + { + proc << *it; } - - KShellProcess proc("/bin/sh"); - proc << cmd; QApplication::setOverrideCursor(Qt::waitCursor);