[Libreoffice-commits] core.git: include/vcl vcl/source
Stephan Bergmann
sbergman at redhat.com
Fri Mar 10 16:27:07 UTC 2017
include/vcl/toolbox.hxx | 2 +-
vcl/source/window/toolbox.cxx | 20 +++++++++++---------
2 files changed, 12 insertions(+), 10 deletions(-)
New commits:
commit 609b13037036dfbca952a018403950d7046a3027
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Mar 10 17:26:23 2017 +0100
Propagate integer type mismatch out of ToolBox::ImplFindItemPos
Change-Id: I6f0c06491cf3c09d97b637d7456debd1e3decbcd
diff --git a/include/vcl/toolbox.hxx b/include/vcl/toolbox.hxx
index 19730ec..52c3bc5 100644
--- a/include/vcl/toolbox.hxx
+++ b/include/vcl/toolbox.hxx
@@ -251,7 +251,7 @@ public:
static SAL_DLLPRIVATE sal_uInt16 ImplTestLineSize( ToolBox* pThis, const Point& rPos );
static SAL_DLLPRIVATE void ImplLineSizing( ToolBox* pThis, const Point& rPos, Rectangle& rRect, sal_uInt16 nLineMode );
static SAL_DLLPRIVATE sal_uInt16 ImplFindItemPos( ToolBox* pBox, const Point& rPos );
- static SAL_DLLPRIVATE sal_uInt16 ImplFindItemPos( const ImplToolItem* pItem, const std::vector< ImplToolItem >& rList );
+ static SAL_DLLPRIVATE std::vector<ImplToolItem>::size_type ImplFindItemPos( const ImplToolItem* pItem, const std::vector< ImplToolItem >& rList );
SAL_DLLPRIVATE void ImplDrawMenuButton(vcl::RenderContext& rRenderContext, bool bHighlight);
SAL_DLLPRIVATE void ImplDrawButton(vcl::RenderContext& rRenderContext, const Rectangle &rRect, sal_uInt16 highlight, bool bChecked, bool bEnabled, bool bIsWindow);
static SAL_DLLPRIVATE sal_uInt16 ImplCountLineBreaks( const ToolBox *pThis );
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index 403c823..af83d66 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -47,6 +47,7 @@
#endif
#include <cstdlib>
+#include <limits>
#include <string.h>
#include <vector>
#include <math.h>
@@ -5336,16 +5337,15 @@ ImplToolItem* ToolBox::ImplGetFirstValidItem( sal_uInt16 nLine )
return (it == mpData->m_aItems.end()) ? nullptr : &(*it);
}
-sal_uInt16 ToolBox::ImplFindItemPos( const ImplToolItem* pItem, const std::vector< ImplToolItem >& rList )
+std::vector<ImplToolItem>::size_type ToolBox::ImplFindItemPos( const ImplToolItem* pItem, const std::vector< ImplToolItem >& rList )
{
if( pItem )
{
- sal_uInt16 nPos;
- for( nPos = 0; nPos < rList.size(); ++nPos )
+ for( std::vector<ImplToolItem>::size_type nPos = 0; nPos < rList.size(); ++nPos )
if( &rList[ nPos ] == pItem )
return nPos;
}
- return TOOLBOX_ITEM_NOTFOUND;
+ return std::numeric_limits<std::vector<ImplToolItem>::size_type>::max();
}
void ToolBox::ChangeHighlight( sal_uInt16 nPos )
@@ -5387,8 +5387,8 @@ void ToolBox::ImplChangeHighlight( ImplToolItem* pItem, bool bNoGrabFocus )
if( pItem )
{
- sal_uInt16 aPos = ToolBox::ImplFindItemPos( pItem, mpData->m_aItems );
- if( aPos != TOOLBOX_ITEM_NOTFOUND)
+ std::vector<ImplToolItem>::size_type aPos = ToolBox::ImplFindItemPos( pItem, mpData->m_aItems );
+ if( aPos != std::numeric_limits<std::vector<ImplToolItem>::size_type>::max())
{
// check for line breaks
sal_uInt16 nLine = ImplGetItemLine( pItem );
@@ -5411,9 +5411,11 @@ void ToolBox::ImplChangeHighlight( ImplToolItem* pItem, bool bNoGrabFocus )
mnHighItemId = pItem->mnId;
InvalidateItem(aPos);
+ //TODO: std::vector<ImplToolItem>::size_type -> sal_uInt16!
if( mbSelection )
mnCurPos = aPos;
+ //TODO: std::vector<ImplToolItem>::size_type -> sal_uInt16!
ImplShowFocus();
if( pItem->mpWindow )
@@ -5538,10 +5540,10 @@ bool ToolBox::ImplChangeHighlightUpDn( bool bUp, bool bNoCycle )
if( pToolItem )
{
- sal_uLong pos = ToolBox::ImplFindItemPos( pToolItem, mpData->m_aItems );
- sal_uLong nCount = mpData->m_aItems.size();
+ std::vector<ImplToolItem>::size_type pos = ToolBox::ImplFindItemPos( pToolItem, mpData->m_aItems );
+ std::vector<ImplToolItem>::size_type nCount = mpData->m_aItems.size();
- sal_uLong i=0;
+ std::vector<ImplToolItem>::size_type i=0;
do
{
if( bUp )
More information about the Libreoffice-commits
mailing list