[Libreoffice-commits] core.git: 4 commits - forms/source

Lionel Elie Mamane lionel at mamane.lu
Sun Jun 23 08:40:31 PDT 2013


 forms/source/component/ListBox.cxx |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

New commits:
commit d8eafdafe0a86c2fb83855852a12703366b3914e
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sun Jun 23 17:32:20 2013 +0200

    Data-aware ListBox: use entry for NULL if the *bound* value is NULL
    
    as opposed to when the display string is empty.
    
    Change-Id: I802955404d2d8d5c91b3fd1633e34be7ef4f0b82

diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index b3726f3..90decec 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -915,8 +915,13 @@ namespace frm
                             aBoundValue = static_cast<sal_Int16>(xListCursor->getRow()-1);
                         aValueList.push_back( aBoundValue );
 
-                        if ( bUseNULL && ( m_nNULLPos == -1 ) && aStr.isEmpty() )
+                        if ( bUseNULL && ( m_nNULLPos == -1 ) && aBoundValue.isNull() )
                             m_nNULLPos = sal_Int16( aDisplayList.size() - 1 );
+                        if ( bUseNULL && ( m_nNULLPos == -1 ) && aStr.isEmpty() )
+                            // There is already a non-NULL entry with empty display string;
+                            // adding another one for NULL would make things confusing,
+                            // so back off.
+                            bUseNULL = false;
                     }
                 }
                 break;
commit 157a9da9340c5b03c598c29aa2a1fe5c709c66f3
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sun Jun 23 17:28:58 2013 +0200

    Use unsigned values in m_a(Converted)BoundValues
    
    Values that come from the database are always signed
    (we inherit that from sdbc that inherits that from jdbc
     that inherits that from Java's type system that does not have unsigned values)
    So when using unsigned values, they always operator==-compare false!
    
    Change-Id: I604b04afa23ede835c1f3db1f8c1bdeafbfba7ea

diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index 2d09771..b3726f3 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -912,7 +912,7 @@ namespace frm
                             aBoundValue.fill( *aBoundColumn + 1, m_nBoundColumnType, xCursorRow );
                         else
                             // -1 because getRow() is 1-indexed, but ListBox positions are 0-indexed
-                            aBoundValue = static_cast<sal_uInt16>(xListCursor->getRow()-1);
+                            aBoundValue = static_cast<sal_Int16>(xListCursor->getRow()-1);
                         aValueList.push_back( aBoundValue );
 
                         if ( bUseNULL && ( m_nNULLPos == -1 ) && aStr.isEmpty() )
commit 2d432035a82731163ce4c2a72f228e2c98c9f8f2
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sun Jun 23 17:25:43 2013 +0200

    enhance comment
    
    Change-Id: I897a59d10a903bfe303b1ac059f19b6dcc686616

diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index 51f7516..2d09771 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -843,7 +843,7 @@ namespace frm
         ValueList aDisplayList, aValueList;
         sal_Bool bUseNULL = hasField() && !isRequired();
 
-        // empty BoundColumn is treated as BoundColumn=0,
+        // empty BoundColumn is treated as BoundColumn==0,
         if(!aBoundColumn)
             aBoundColumn = 0;
 
commit 2a2b900544cac3b2f2c915b76872bf3c1c050f84
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sun Jun 23 17:25:11 2013 +0200

    avoid initialise-then-reset
    
    Directly construct as unitialised
    
    Change-Id: I66aa4f5a5f5ed2c1d5bf0cb8083e1968ef776bf7

diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index f99d4fe..51f7516 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -709,8 +709,7 @@ namespace frm
             return;
         }
 
-        ::boost::optional< sal_Int16 > aBoundColumn(0);
-        aBoundColumn.reset();
+        ::boost::optional< sal_Int16 > aBoundColumn(boost::none);
         if ( m_aBoundColumn.getValueType().getTypeClass() == TypeClass_SHORT )
         {
             sal_Int16 nBoundColumn( 0 );


More information about the Libreoffice-commits mailing list