mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3046 Fix crash when clicking on Eclipse case after import
This commit is contained in:
parent
a5f69a59d0
commit
3661827c62
@ -131,41 +131,38 @@ bool RimEclipseResultCase::importGridAndResultMetaData(bool showTimeStepFilter)
|
||||
cvf::ref<RifReaderEclipseOutput> readerEclipseOutput = new RifReaderEclipseOutput;
|
||||
readerEclipseOutput->setFilenamesWithFaults(this->filesContainingFaults());
|
||||
|
||||
if (showTimeStepFilter)
|
||||
cvf::ref<RifEclipseRestartDataAccess> restartDataAccess = RifEclipseOutputFileTools::createDynamicResultAccess(caseFileName());
|
||||
if (restartDataAccess.isNull())
|
||||
{
|
||||
cvf::ref<RifEclipseRestartDataAccess> restartDataAccess = RifEclipseOutputFileTools::createDynamicResultAccess(caseFileName());
|
||||
if (restartDataAccess.isNull())
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
std::vector<QDateTime> timeSteps;
|
||||
std::vector<double> daysSinceSimulationStart;
|
||||
|
||||
restartDataAccess->timeSteps(&timeSteps, &daysSinceSimulationStart);
|
||||
m_timeStepFilter->setTimeStepsFromFile(timeSteps);
|
||||
}
|
||||
|
||||
if (showTimeStepFilter)
|
||||
{
|
||||
// Restore cursor as the progress dialog is active
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
caf::PdmUiPropertyViewDialog propertyDialog(nullptr, m_timeStepFilter, "Time Step Filter", "", QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
propertyDialog.resize(QSize(400, 400));
|
||||
// Show GUI to select time steps
|
||||
if (propertyDialog.exec() != QDialog::Accepted)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
std::vector<QDateTime> timeSteps;
|
||||
std::vector<double> daysSinceSimulationStart;
|
||||
|
||||
restartDataAccess->timeSteps(&timeSteps, &daysSinceSimulationStart);
|
||||
|
||||
// Restore cursor as the progress dialog is active
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
// Show GUI to select time steps
|
||||
|
||||
m_timeStepFilter->setTimeStepsFromFile(timeSteps);
|
||||
|
||||
caf::PdmUiPropertyViewDialog propertyDialog(nullptr, m_timeStepFilter, "Time Step Filter", "", QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
propertyDialog.resize(QSize(400, 400));
|
||||
|
||||
if (propertyDialog.exec() != QDialog::Accepted)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
m_timeStepFilter->updateFilteredTimeStepsFromUi();
|
||||
// Set cursor in wait state to continue display of progress dialog including
|
||||
// wait cursor
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
}
|
||||
readerEclipseOutput->setFileDataAccess(restartDataAccess.p());
|
||||
m_timeStepFilter->updateFilteredTimeStepsFromUi();
|
||||
// Set cursor in wait state to continue display of progress dialog including
|
||||
// wait cursor
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
}
|
||||
readerEclipseOutput->setFileDataAccess(restartDataAccess.p());
|
||||
readerEclipseOutput->setTimeStepFilter(m_timeStepFilter->filteredTimeSteps());
|
||||
|
||||
cvf::ref<RigEclipseCaseData> eclipseCase = new RigEclipseCaseData(this);
|
||||
|
@ -236,7 +236,10 @@ QList<caf::PdmOptionItemInfo> RimTimeStepFilter::calculateValueOptions(const caf
|
||||
std::vector<int> filteredTimeSteps = filteredTimeStepIndicesFromUi();
|
||||
for (auto filteredIndex : filteredTimeSteps)
|
||||
{
|
||||
optionItems.push_back(caf::PdmOptionItemInfo(m_timeStepNamesFromFile()[filteredIndex], static_cast<int>(filteredIndex)));
|
||||
if (filteredIndex < static_cast<int>(m_timeStepNamesFromFile().size()))
|
||||
{
|
||||
optionItems.push_back(caf::PdmOptionItemInfo(m_timeStepNamesFromFile()[filteredIndex], static_cast<int>(filteredIndex)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user