The updated loplugin:implicitboolconversion now also warns about
implicit conversions from bool-like types like sal_Bool. That flagged
four places that I tried to fix as best I could, but wouldn't mind if
others more familiar with the respective code would take a look, too:
One is in connectivity (Lionel, do you happen to know how to trigger
that code?):
commit c5e08b42ace5f4481c3db87b4fb6ae2dbf9d9a51
Author: Stephan Bergmann <sbergman@redhat.com>
Date: Fri May 8 09:26:35 2015 +0200
I very much assume this wants to call java.io.Reader.ready
...seeing that there is no java.io.Reader.available. (And then, there's no good
way to map from java.io.Reader.ready's boolean value to
css.io.XInputStream.available's long value, so conservatively map true to 1.)
But I have no idea how to trigger this code.
Change-Id: I18d12e0d968141410a1b56e700ed544edceda97c
diff --git a/connectivity/source/drivers/jdbc/Reader.cxx
b/connectivity/source/drivers/jdbc/Reader.cxx
index a7cd369..20db510 100644
--- a/connectivity/source/drivers/jdbc/Reader.cxx
+++ b/connectivity/source/drivers/jdbc/Reader.cxx
@@ -57,19 +57,19 @@ void SAL_CALL java_io_Reader::skipBytes( sal_Int32 nBytesToSkip ) throw(::com::s
sal_Int32 SAL_CALL java_io_Reader::available( )
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException,
::com::sun::star::uno::RuntimeException, std::exception)
{
- jboolean out(sal_False);
+ jboolean out;
SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
{
static const char * cSignature = "()Z";
- static const char * cMethodName = "available";
+ static const char * cMethodName = "ready";
// Java-Call
static jmethodID mID(NULL);
obtainMethodId_throwRuntime(t.pEnv, cMethodName,cSignature, mID);
out = t.pEnv->CallBooleanMethod( object, mID);
ThrowRuntimeException(t.pEnv,*this);
} //t.pEnv
- return out;
+ return out ? 1 : 0; // no way to tell *how much* is ready
}
void SAL_CALL java_io_Reader::closeInput( ) throw(::com::sun::star::io::NotConnectedException,
::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
One is in sc:
commit f593be5bcde09965bb3478e00bcdedbc6bd5bc57
Author: Stephan Bergmann <sbergman@redhat.com>
Date: Wed May 6 08:17:32 2015 +0200
SfxBoolItem takes a sal_uInt16 nWhich as first argument
This code was like that ever since 9ae5a91f7955e44d3b24a3f7741f9bca02ac7f24
"initial import." From the surrounding code, the best bet appears to be
ATTR_LINEBREAK?
Change-Id: Id0e3346f2f9bb9c00c202003d06c2518dea38112
diff --git a/sc/source/filter/starcalc/scflt.cxx b/sc/source/filter/starcalc/scflt.cxx
index 682eb20..b21f9a4 100644
--- a/sc/source/filter/starcalc/scflt.cxx
+++ b/sc/source/filter/starcalc/scflt.cxx
@@ -1189,7 +1189,7 @@ void Sc10Import::LoadPatternCollection()
}
if( ( OJustify & ojWordBreak ) == ojWordBreak )
- rItemSet.Put( SfxBoolItem( sal_True ) );
+ rItemSet.Put( SfxBoolItem( ATTR_LINEBREAK, true ) );
if( ( OJustify & ojBottomTop ) == ojBottomTop )
rItemSet.Put( SfxInt32Item( ATTR_ROTATE_VALUE, 9000 ) );
else if( ( OJustify & ojTopBottom ) == ojTopBottom )
@@ -1830,7 +1830,7 @@ void Sc10Import::LoadColAttr(SCCOL Col, SCTAB Tab)
}
if (OJustify & ojWordBreak)
- aScPattern.GetItemSet().Put(SfxBoolItem(sal_True));
+ aScPattern.GetItemSet().Put(SfxBoolItem(ATTR_LINEBREAK, true));
if (OJustify & ojBottomTop)
aScPattern.GetItemSet().Put(SfxInt32Item(ATTR_ROTATE_VALUE,9000));
else if (OJustify & ojTopBottom)
One is in sw:
commit 2c9b7e3304db9d571d15a4ba3732acf8cf40cffe
Author: Stephan Bergmann <sbergman@redhat.com>
Date: Wed May 6 15:16:37 2015 +0200
SvxOpaqueItem takes a sal_uInt16 nId as first argument
This code was like that ever since 84a3db80b4fd66c6854b3135b5f69b61fd828e62
"initial import." From other uses of SvxOpaqueItem, the best bet appears to be
RES_OPAQUE.
Change-Id: I19de8fac4f41716d9c2a73bda4a8cea200ae99f8
diff --git a/sw/source/core/doc/DocumentStylePoolManager.cxx
b/sw/source/core/doc/DocumentStylePoolManager.cxx
index 3276b9f4..8d4fe0e 100644
--- a/sw/source/core/doc/DocumentStylePoolManager.cxx
+++ b/sw/source/core/doc/DocumentStylePoolManager.cxx
@@ -1318,7 +1318,7 @@ SwFmt* DocumentStylePoolManager::GetFmtFromPool( sal_uInt16 nId )
aSet.Put( SwFmtAnchor( FLY_AT_PAGE ));
aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER,
text::RelOrientation::FRAME ));
aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::CENTER,
text::RelOrientation::FRAME ));
- aSet.Put( SvxOpaqueItem( sal_False ));
+ aSet.Put( SvxOpaqueItem( RES_OPAQUE, false ));
aSet.Put( SwFmtSurround( SURROUND_THROUGHT ));
}
break;
And one is in editeng:
commit 25487875563c5aa05253e3f3199b082ded16184c
Author: Stephan Bergmann <sbergman@redhat.com>
Date: Tue May 5 17:47:26 2015 +0200
vcl::Window::Scroll takes a sal_uInt16 nFlags, not a sal_Bool
This passing of sal_True instead of some SCROLL_* flags has been there ever
since fd069bee7e57ad529c3c0974559fd2d84ec3151a "initial import," and the
signature of vcl::Window::Scroll has been like that at least since
f59676fe09175725ee0a75a1678dd1581decc20b "INTEGRATION: CWS
hedaburemove01: #72503# get rid of hedabu procedure: Moving headers to
vcl/inc/vcl and correspondent necessary changes," so lets arbitrarily assume
that this wants to pass SCROLL_CLIP (which has the same numeric value as
Change-Id: I8da6536404aa220611a7df96605c7a4a9efc7f7c
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index 2061716..3d126ba 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -1057,7 +1057,7 @@ Pair ImpEditView::Scroll( long ndX, long ndY, sal_uInt8 nRangeCheck )
aVisDocStartPos = pOutWin->LogicToPixel( aVisDocStartPos );
aVisDocStartPos = pOutWin->PixelToLogic( aVisDocStartPos );
Rectangle aRect( aOutArea );
- pOutWin->Scroll( nRealDiffX, nRealDiffY, aRect, sal_True );
+ pOutWin->Scroll( nRealDiffX, nRealDiffY, aRect, SCROLL_CLIP );
pOutWin->Update();
pCrsr->SetPos( pCrsr->GetPos() + Point( nRealDiffX, nRealDiffY ) );
if ( bVisCursor )
Context
- four changes of suspicious code (connectivity, sc, sw, editeng) · Stephan Bergmann
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.