From 1019f91d5bd48edd730b9a778909a0f6788edb09 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Wed, 27 Jan 2021 09:27:34 +0200 Subject: [PATCH] Fix crash on Windows. --- .../tools/piece/dialogseamallowance.cpp | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/libs/vtools/dialogs/tools/piece/dialogseamallowance.cpp b/src/libs/vtools/dialogs/tools/piece/dialogseamallowance.cpp index 7b1497bc7..9a950c955 100644 --- a/src/libs/vtools/dialogs/tools/piece/dialogseamallowance.cpp +++ b/src/libs/vtools/dialogs/tools/piece/dialogseamallowance.cpp @@ -508,7 +508,10 @@ void DialogSeamAllowance::SaveData() SavePatternTemplateData(); SavePatternMaterialData(); - emit m_doc->UpdatePatternLabel(); + if (m_doc != nullptr) + { + emit m_doc->UpdatePatternLabel(); + } } //--------------------------------------------------------------------------------------------------------------------- @@ -611,6 +614,10 @@ void DialogSeamAllowance::showEvent(QShowEvent *event) if (m_doc != nullptr) { + uiTabLabels->lineEditPatternName->setText(m_doc->GetPatternName()); + uiTabLabels->lineEditPatternNumber->setText(m_doc->GetPatternNumber()); + uiTabLabels->lineEditCompanyName->setText(m_doc->GetCompanyName()); + VSettings *settings = qApp->ValentinaSettings(); m_patternMaterials = m_doc->GetPatternMaterials(); @@ -3181,10 +3188,6 @@ void DialogSeamAllowance::InitLabelsTab() // Pattern label data uiTabLabels->lineEditCustomerEmail->setClearButtonEnabled(true); - uiTabLabels->lineEditPatternName->setText(m_doc->GetPatternName()); - uiTabLabels->lineEditPatternNumber->setText(m_doc->GetPatternNumber()); - uiTabLabels->lineEditCompanyName->setText(m_doc->GetCompanyName()); - uiTabLabels->lineEditCustomerName->setText(qApp->GetCustomerName()); uiTabLabels->lineEditCustomerEmail->setText(qApp->CustomerEmail()); uiTabLabels->dateEditCustomerBirthDate->setDate(qApp->GetCustomerBirthDate()); @@ -3716,7 +3719,7 @@ void DialogSeamAllowance::EnablePatternLabelFormulaControls(bool enable) //--------------------------------------------------------------------------------------------------------------------- void DialogSeamAllowance::SavePatternLabelData() { - if (m_patternLabelDataChanged) + if (m_patternLabelDataChanged && m_doc != nullptr) { m_doc->SetPatternName(uiTabLabels->lineEditPatternName->text()); m_doc->SetPatternNumber(uiTabLabels->lineEditPatternNumber->text()); @@ -3738,7 +3741,7 @@ void DialogSeamAllowance::SavePatternLabelData() //--------------------------------------------------------------------------------------------------------------------- void DialogSeamAllowance::SavePatternTemplateData() { - if (m_patternTemplateDataChanged) + if (m_patternTemplateDataChanged && m_doc != nullptr) { m_doc->SetPatternLabelTemplate(m_patternTemplateLines); m_patternTemplateDataChanged = false; @@ -3748,7 +3751,7 @@ void DialogSeamAllowance::SavePatternTemplateData() //--------------------------------------------------------------------------------------------------------------------- void DialogSeamAllowance::SavePatternMaterialData() { - if (m_patternMaterialsChanged) + if (m_patternMaterialsChanged && m_doc != nullptr) { m_doc->SetPatternMaterials(m_patternMaterials); m_patternMaterialsChanged = false; @@ -3811,6 +3814,11 @@ void DialogSeamAllowance::EditPatternLabel() } } + if (m_doc == nullptr) + { + return; + } + DialogEditLabel editor(m_doc, data); m_patternTemplateDataChanged ? editor.SetTemplate(m_patternTemplateLines)