prevent crash if no tab is present.

This commit is contained in:
2025-08-19 18:09:29 +02:00
parent 6449fd120f
commit 6cc736d6a5
2 changed files with 44 additions and 14 deletions

View File

@@ -2593,7 +2593,11 @@ void PTextEdit::musrView()
} }
QString cmd = fAdmin->getExecPath() + "/musrview"; QString cmd = fAdmin->getExecPath() + "/musrview";
QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); QString fln="./";
PSubTextEdit *ce = currentEditor();
if (ce != nullptr)
fln = *fFilenames.find(currentEditor());
QString workDir = QFileInfo(fln).absolutePath();
QStringList arg; QStringList arg;
QString str; QString str;
@@ -2662,7 +2666,11 @@ void PTextEdit::musrView2Dat()
return; return;
QString cmd = fAdmin->getExecPath() + "/musrview"; QString cmd = fAdmin->getExecPath() + "/musrview";
QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); QString fln="./";
PSubTextEdit *ce = currentEditor();
if (ce != nullptr)
fln = *fFilenames.find(currentEditor());
QString workDir = QFileInfo(fln).absolutePath();
QStringList arg; QStringList arg;
for (auto it : flns) { for (auto it : flns) {
@@ -2782,6 +2790,9 @@ void PTextEdit::musrT0()
*/ */
void PTextEdit::musrFT() void PTextEdit::musrFT()
{ {
PSubTextEdit *ce = currentEditor();
if (ce == nullptr)
return;
PGetMusrFTOptionsDialog *dlg = new PGetMusrFTOptionsDialog(*fFilenames.find( currentEditor() ), fMusrFTPrevCmd, fAdmin->getHelpUrl("musrFT")); PGetMusrFTOptionsDialog *dlg = new PGetMusrFTOptionsDialog(*fFilenames.find( currentEditor() ), fMusrFTPrevCmd, fAdmin->getHelpUrl("musrFT"));
@@ -3093,7 +3104,11 @@ void PTextEdit::mupp()
QProcess *proc = new QProcess(this); QProcess *proc = new QProcess(this);
QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); QString fln="./";
PSubTextEdit *ce = currentEditor();
if (ce != nullptr)
fln = *fFilenames.find(currentEditor());
QString workDir = QFileInfo(fln).absolutePath();
// make sure that the system environment variables are properly set // make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); QProcessEnvironment env = QProcessEnvironment::systemEnvironment();

View File

@@ -2585,12 +2585,16 @@ void PTextEdit::musrView()
} }
QString cmd = fAdmin->getExecPath() + "/musrview"; QString cmd = fAdmin->getExecPath() + "/musrview";
QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); QString fln="./";
PSubTextEdit *ce = currentEditor();
if (ce != nullptr)
fln = *fFilenames.find(currentEditor());
QString workDir = QFileInfo(fln).absolutePath();
QStringList arg; QStringList arg;
QString str; QString str;
// file name // file name
str = *fFilenames.find( currentEditor() ); str = fln;
int pos = str.lastIndexOf("/"); int pos = str.lastIndexOf("/");
if (pos != -1) if (pos != -1)
str.remove(0, pos+1); str.remove(0, pos+1);
@@ -2650,7 +2654,11 @@ void PTextEdit::musrView2Dat()
return; return;
QString cmd = fAdmin->getExecPath() + "/musrview"; QString cmd = fAdmin->getExecPath() + "/musrview";
QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); QString fln="./";
PSubTextEdit *ce = currentEditor();
if (ce != nullptr)
fln = *fFilenames.find(currentEditor());
QString workDir = QFileInfo(fln).absolutePath();
QStringList arg; QStringList arg;
for (auto it : flns) { for (auto it : flns) {
@@ -2763,6 +2771,9 @@ void PTextEdit::musrT0()
*/ */
void PTextEdit::musrFT() void PTextEdit::musrFT()
{ {
PSubTextEdit *ce = currentEditor();
if (ce == nullptr)
return;
PGetMusrFTOptionsDialog *dlg = new PGetMusrFTOptionsDialog(*fFilenames.find(currentEditor()), fMusrFTPrevCmd, fAdmin->getHelpUrl("musrFT")); PGetMusrFTOptionsDialog *dlg = new PGetMusrFTOptionsDialog(*fFilenames.find(currentEditor()), fMusrFTPrevCmd, fAdmin->getHelpUrl("musrFT"));
@@ -3064,7 +3075,11 @@ void PTextEdit::mupp()
QProcess *proc = new QProcess(this); QProcess *proc = new QProcess(this);
QString workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); QString fln="./";
PSubTextEdit *ce = currentEditor();
if (ce != nullptr)
fln = *fFilenames.find(currentEditor());
QString workDir = QFileInfo(fln).absolutePath();
// make sure that the system environment variables are properly set // make sure that the system environment variables are properly set
QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); QProcessEnvironment env = QProcessEnvironment::systemEnvironment();