Fix more crashes after 1efeb17837c22499f00299c033ae59ba3910f7d7
E.g., trying to open time control properties in test file in
https://gerrit.libreoffice.org/c/core/+/89895
See commit b9d6ea1dd7541c4bd866571f9e3f0aa894687c07 for explanation
Change-Id: Icfa5d940cd595937e3bc83c752719d76d55d4081
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89944
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index 291f502..147a614 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -998,7 +998,8 @@ namespace pcr
case PROPERTY_ID_IMAGE_URL:
{
std::unique_ptr<weld::Builder> xBuilder(PropertyHandlerHelper::makeBuilder("modules/spropctrlr/ui/urlcontrol.ui", m_xContext));
auto pControl = new OFileUrlControl(std::make_unique<SvtURLBox>(xBuilder->weld_combo_box("urlcontrol")), std::move(xBuilder), false);
auto pURLBox = std::make_unique<SvtURLBox>(xBuilder->weld_combo_box("urlcontrol"));
auto pControl = new OFileUrlControl(std::move(pURLBox), std::move(xBuilder), false);
pControl->SetModifyHandler();
aDescriptor.Control = pControl;
@@ -1100,7 +1101,8 @@ namespace pcr
if ( bIsFormatKey )
{
std::unique_ptr<weld::Builder> xBuilder(PropertyHandlerHelper::makeBuilder("modules/spropctrlr/ui/formattedsample.ui", m_xContext));
auto pControl = new OFormatSampleControl(xBuilder->weld_container("formattedsample"), std::move(xBuilder), false);
auto pContainer = xBuilder->weld_container("formattedsample");
auto pControl = new OFormatSampleControl(std::move(pContainer), std::move(xBuilder), false);
pControl->SetModifyHandler();
pControl->SetFormatSupplier(pSupplier);
@@ -1112,7 +1114,8 @@ namespace pcr
else
{
std::unique_ptr<weld::Builder> xBuilder(PropertyHandlerHelper::makeBuilder("modules/spropctrlr/ui/formattedcontrol.ui", m_xContext));
auto pControl = new OFormattedNumericControl(xBuilder->weld_formatted_spin_button("formattedcontrol"), std::move(xBuilder), false);
auto pSpinButton = xBuilder->weld_formatted_spin_button("formattedcontrol");
auto pControl = new OFormattedNumericControl(std::move(pSpinButton), std::move(xBuilder), false);
pControl->SetModifyHandler();
FormatDescription aDesc;
@@ -1150,7 +1153,8 @@ namespace pcr
case PROPERTY_ID_VALUE:
{
std::unique_ptr<weld::Builder> xBuilder(PropertyHandlerHelper::makeBuilder("modules/spropctrlr/ui/formattedcontrol.ui", m_xContext));
auto pControl = new OFormattedNumericControl(xBuilder->weld_formatted_spin_button("formattedcontrol"), std::move(xBuilder), false);
auto pSpinButton = xBuilder->weld_formatted_spin_button("formattedcontrol");
auto pControl = new OFormattedNumericControl(std::move(pSpinButton), std::move(xBuilder), false);
pControl->SetModifyHandler();
aDescriptor.Control = pControl;
@@ -1283,7 +1287,8 @@ namespace pcr
case PROPERTY_ID_REPEAT_DELAY:
{
std::unique_ptr<weld::Builder> xBuilder(PropertyHandlerHelper::makeBuilder("modules/spropctrlr/ui/numericfield.ui", m_xContext));
auto pControl = new ONumericControl(xBuilder->weld_metric_spin_button("numericfield", FieldUnit::MILLISECOND), std::move(xBuilder), bReadOnly);
auto pSpinButton = xBuilder->weld_metric_spin_button("numericfield", FieldUnit::MILLISECOND);
auto pControl = new ONumericControl(std::move(pSpinButton), std::move(xBuilder), bReadOnly);
pControl->SetModifyHandler();
pControl->setMinValue( Optional< double >( true, 0 ) );
pControl->setMaxValue( Optional< double >( true, std::numeric_limits< double >::max() ) );