User: obo Date: 05/12/21 05:37:08 Modified: /dba/dbaccess/source/ui/querydesign/ SelectionBrowseBox.cxx
Log: INTEGRATION: CWS dba202a (1.64.14); FILE MERGED 2005/11/25 14:33:41 oj 1.64.14.2: #127169# check column pos 2005/11/25 12:19:17 oj 1.64.14.1: #127169# check column pos File Changes: Directory: /dba/dbaccess/source/ui/querydesign/ =============================================== File [changed]: SelectionBrowseBox.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx?r1=1.64&r2=1.65 Delta lines: +16 -10 --------------------- --- SelectionBrowseBox.cxx 24 Oct 2005 08:32:22 -0000 1.64 +++ SelectionBrowseBox.cxx 21 Dec 2005 13:37:05 -0000 1.65 @@ -35,9 +35,6 @@ #ifndef DBAUI_QUERYDESIGN_OSELECTIONBROWSEBOX_HXX #include "SelectionBrowseBox.hxx" #endif -#ifndef _DBAUI_MODULE_DBU_HXX_ -#include "moduledbu.hxx" -#endif #ifndef _COM_SUN_STAR_SDBC_XDATABASEMETADATA_HPP_ #include <com/sun/star/sdbc/XDatabaseMetaData.hpp> #endif @@ -524,10 +521,15 @@ void OSelectionBrowseBox::InitController(CellControllerRef& rController, long nRow, sal_uInt16 nColId) { DBG_CHKTHIS(OSelectionBrowseBox,NULL); + OSL_ENSURE(nColId != BROWSER_INVALIDID,"An Invalid Id was set!"); + if ( nColId == BROWSER_INVALIDID ) + return; OQueryController* pController = static_cast<OQueryController*>(static_cast<OQueryController*>(getDesignView()->getController())); - - OTableFieldDescRef pEntry = getFields()[GetColumnPos(nColId)-1]; + USHORT nPos = GetColumnPos(nColId); + if ( nPos == 0 || nPos == BROWSER_ENDOFSELECTION || nPos > getFields().size() ) + return; + OTableFieldDescRef pEntry = getFields()[nPos-1]; DBG_ASSERT(pEntry.isValid(), "OSelectionBrowseBox::InitController : keine FieldDescription !"); long nCellIndex = GetRealRow(nRow); @@ -963,6 +965,7 @@ // fuer die Undo-Action String strOldCellContents,sNewValue; long nRow = GetRealRow(GetCurRow()); + sal_Bool bAppendRow = sal_False; switch (nRow) { case BROW_VIS_ROW: @@ -1231,17 +1234,20 @@ pEntry->SetCriteria(nIdx, aCrit); sNewValue = pEntry->GetCriteria(nIdx); if(aCrit.getLength() && nRow >= (GetRowCount()-1)) - { - RowInserted( GetRowCount()-1, 1, TRUE ); - m_bVisibleRow.push_back(sal_True); - ++m_nVisibleCount; - } + bAppendRow = sal_True; } } if(!bError && Controller()) Controller()->ClearModified(); RowModified(GetCurRow(), GetCurColumnId()); + + if ( bAppendRow ) + { + RowInserted( GetRowCount()-1, 1, TRUE ); + m_bVisibleRow.push_back(sal_True); + ++m_nVisibleCount; + } if(!bError) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
