extensions/source/propctrlr/formcomponenthandler.cxx |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

New commits:
commit b0d2ef6c458a6f216f7ba1683f5c996087644361
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Wed Mar 4 10:48:30 2020 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Wed Mar 4 09:58:44 2020 +0100

    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.kagan...@collabora.com>

diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx 
b/extensions/source/propctrlr/formcomponenthandler.cxx
index 291f50203930..147a614de217 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() ) );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to