tdf#142479 on 'return' select the entry the cursor is in before calling Select

Change-Id: Ic11f8a12c93d1999dd6fbe555b9823660eb703d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115968
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
(cherry picked from commit eb5b345172516b31ec43e226c242e536e93a3413)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115971
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index c9a94de..1d961ad 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -425,6 +425,14 @@ bool ValueSet::KeyInput( const KeyEvent& rKeyEvent )
        case KEY_RETURN:
            if (GetStyle() & WB_NO_DIRECTSELECT)
            {
                // tdf#142479 on return select the entry the cursor is in
                // before calling Select
                if (nCurPos != VALUESET_ITEM_NONEITEM)
                {
                    const sal_uInt16 nItemId = GetItemId(nCurPos);
                    if (nItemId != mnSelItemId)
                        SelectItem(nItemId);
                }
                Select();
                break;
            }