[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - forms/source

Lionel Elie Mamane lionel at mamane.lu
Fri May 26 13:39:46 UTC 2017


 forms/source/component/FormComponent.cxx |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit bb50f9d66540a87065f30da8fd8cadde8e730704
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue May 9 12:53:25 2017 +0200

    tdf#107720 Bound Control initFromField: consider the case of the insert row
    
    loplugin: simplifybool
    (cherry picked from commit 95b25532d24bfb08c4846b991451a36475dd439f)
    
    Change-Id: If18e161c994c926fd86453ab5736df1e89bb61de
    Reviewed-on: https://gerrit.libreoffice.org/37427
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/forms/source/component/FormComponent.cxx b/forms/source/component/FormComponent.cxx
index 80e85758801c..743f4d47986b 100644
--- a/forms/source/component/FormComponent.cxx
+++ b/forms/source/component/FormComponent.cxx
@@ -1981,7 +1981,17 @@ void OBoundControlModel::initFromField( const Reference< XRowSet >& _rxRowSet )
     // but only if the rowset is positioned on a valid record
     if ( hasField() && _rxRowSet.is() )
     {
-        if ( !_rxRowSet->isBeforeFirst() && !_rxRowSet->isAfterLast() )
+        bool shouldTransfer(!_rxRowSet->isBeforeFirst() && !_rxRowSet->isAfterLast());
+        if (!shouldTransfer)
+        {
+            const Reference< XPropertySet > xPS(_rxRowSet, UNO_QUERY);
+            if (xPS.is())
+            {
+                assert(!shouldTransfer);
+                xPS->getPropertyValue("IsNew") >>= shouldTransfer;
+            }
+        }
+        if ( shouldTransfer )
             transferDbValueToControl();
         else
             // reset the field if the row set is empty


More information about the Libreoffice-commits mailing list