Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3418
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/18/3418/1
rhbz#867808 Do not throw RuntimeException by pointer
(cherry picked from commit e46564a0a6a74da90785a1b910d33e2b5bfdcfd9, plus
63b4633cf7b0da9eba63e752cec72cb10ed9d93e "Related: rhbz#867808 if one person
threw by pointer..." and 336353a87e6003e685aab87ea74a158546e1f297 "Related
rhbz#867808: More apparently bogus 'throw new ...' in C++ code")
Conflicts:
bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx
bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx
sdext/source/presenter/PresenterController.cxx
stoc/source/registry_tdprovider/functiondescription.cxx
stoc/source/registry_tdprovider/methoddescription.cxx
toolkit/source/awt/vclxwindow1.cxx
Change-Id: I22b7d3d642e7ee0488d6b726a331d328065bbee7
---
M bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx
M bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx
M i18npool/source/transliteration/transliteration_Numeric.cxx
M sdext/source/presenter/PresenterController.cxx
M stoc/source/registry_tdprovider/functiondescription.cxx
M stoc/source/registry_tdprovider/methoddescription.cxx
M testtools/source/bridgetest/cli/cli_cpp_bridgetest.cxx
M toolkit/source/awt/stylesettings.cxx
M toolkit/source/awt/vclxwindow1.cxx
9 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx
b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx
index df0991c..b7a5ff3 100644
--- a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx
+++ b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx
@@ -74,7 +74,7 @@
css::uno::Reference< css::lang::XMultiComponentFactory > factory(
context->getServiceManager());
if (!factory.is()) {
- throw new css::uno::RuntimeException(
+ throw css::uno::RuntimeException(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "no component context service manager" )),
static_cast< cppu::OWeakObject * >(this));
}
@@ -94,7 +94,7 @@
}
relay->start(this);
if (!data.setData(reinterpret_cast< void * >(12345))) {
- throw new css::uno::RuntimeException(
+ throw css::uno::RuntimeException(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "osl::ThreadData::setData failed" )),
static_cast< cppu::OWeakObject * >(this));
}
diff --git a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx
b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx
index 607a054..3952ce9 100644
--- a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx
+++ b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx
@@ -63,7 +63,7 @@
css::uno::Reference< css::lang::XMultiComponentFactory > factory(
context->getServiceManager());
if (!factory.is()) {
- throw new css::uno::RuntimeException(
+ throw css::uno::RuntimeException(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "no component context service manager" )),
static_cast< cppu::OWeakObject * >(this));
}
diff --git a/i18npool/source/transliteration/transliteration_Numeric.cxx
b/i18npool/source/transliteration/transliteration_Numeric.cxx
index eec4236..de24368 100644
--- a/i18npool/source/transliteration/transliteration_Numeric.cxx
+++ b/i18npool/source/transliteration/transliteration_Numeric.cxx
@@ -38,21 +38,21 @@
transliteration_Numeric::folding( const OUString& /*inStr*/, sal_Int32 /*startPos*/, sal_Int32
/*nCount*/, Sequence< sal_Int32 >& /*offset*/ )
throw(RuntimeException)
{
- throw (new RuntimeException());
+ throw RuntimeException();
}
sal_Bool SAL_CALL
transliteration_Numeric::equals( const OUString& /*str1*/, sal_Int32 /*pos1*/, sal_Int32
/*nCount1*/, sal_Int32& /*nMatch1*/, const OUString& /*str2*/, sal_Int32 /*pos2*/, sal_Int32
/*nCount2*/, sal_Int32& /*nMatch2*/ )
throw(RuntimeException)
{
- throw (new RuntimeException());
+ throw RuntimeException();
}
Sequence< OUString > SAL_CALL
transliteration_Numeric::transliterateRange( const OUString& /*str1*/, const OUString& /*str2*/ )
throw(RuntimeException)
{
- throw (new RuntimeException());
+ throw RuntimeException();
}
diff --git a/sdext/source/presenter/PresenterController.cxx
b/sdext/source/presenter/PresenterController.cxx
index 14820da..44b5bea 100644
--- a/sdext/source/presenter/PresenterController.cxx
+++ b/sdext/source/presenter/PresenterController.cxx
@@ -119,7 +119,7 @@
OSL_ASSERT(mxController.is());
if ( ! mxSlideShowController.is())
- throw new lang::IllegalArgumentException(
+ throw lang::IllegalArgumentException(
A2S("missing slide show controller"),
static_cast<XWeak*>(this),
2);
diff --git a/stoc/source/registry_tdprovider/functiondescription.cxx
b/stoc/source/registry_tdprovider/functiondescription.cxx
index 8840451..3cb9635 100644
--- a/stoc/source/registry_tdprovider/functiondescription.cxx
+++ b/stoc/source/registry_tdprovider/functiondescription.cxx
@@ -71,7 +71,7 @@
try {
any = m_manager->getByHierarchicalName(name);
} catch (const css::container::NoSuchElementException & e) {
- throw new css::uno::RuntimeException(
+ throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
"com.sun.star.container.NoSuchElementException: "))
@@ -81,7 +81,7 @@
if (!(any >>= exceptions[i])
|| exceptions[i]->getTypeClass() != css::uno::TypeClass_EXCEPTION)
{
- throw new css::uno::RuntimeException(
+ throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("not an exception type: "))
+ name),
diff --git a/stoc/source/registry_tdprovider/methoddescription.cxx
b/stoc/source/registry_tdprovider/methoddescription.cxx
index fd2d6c3..f018d1f 100644
--- a/stoc/source/registry_tdprovider/methoddescription.cxx
+++ b/stoc/source/registry_tdprovider/methoddescription.cxx
@@ -90,7 +90,7 @@
m_manager->getByHierarchicalName(m_typeName),
css::uno::UNO_QUERY_THROW);
} catch (const css::container::NoSuchElementException & e) {
- throw new css::uno::RuntimeException(
+ throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
"com.sun.star.container.NoSuchElementException: "))
diff --git a/testtools/source/bridgetest/cli/cli_cpp_bridgetest.cxx
b/testtools/source/bridgetest/cli/cli_cpp_bridgetest.cxx
index c2e7bda..7d08eab 100644
--- a/testtools/source/bridgetest/cli/cli_cpp_bridgetest.cxx
+++ b/testtools/source/bridgetest/cli/cli_cpp_bridgetest.cxx
@@ -799,7 +799,7 @@
bRet = performQueryForUnknownType( xLBT ) && bRet;
if (! bRet)
{
- throw new unoidl::com::sun::star::uno::RuntimeException(
+ throw unoidl::com::sun::star::uno::RuntimeException(
new String("error: test failed!"), 0);
}
}
@@ -819,7 +819,7 @@
{
if (args->Length < 1)
{
- throw new RuntimeException(
+ throw RuntimeException(
"missing argument for bridgetest!", this );
}
Object* test_obj =
@@ -846,7 +846,7 @@
s->Append(exc->GetType()->Name);
s->Append(S"\n Message: ");
s->Append(exc->Message);
- throw new unoidl::com::sun::star::uno::RuntimeException(
+ throw unoidl::com::sun::star::uno::RuntimeException(
s->ToString(), 0);
}
}
diff --git a/toolkit/source/awt/stylesettings.cxx b/toolkit/source/awt/stylesettings.cxx
index 97d5e29..fc0fbaa 100644
--- a/toolkit/source/awt/stylesettings.cxx
+++ b/toolkit/source/awt/stylesettings.cxx
@@ -116,7 +116,7 @@
{
Window* pWindow = i_rOwningWindow.GetWindow();
if ( !pWindow )
- throw new RuntimeException();
+ throw RuntimeException();
pWindow->AddEventListener( LINK( m_pData.get(), WindowStyleSettings_Data, OnWindowEvent )
);
}
diff --git a/toolkit/source/awt/vclxwindow1.cxx b/toolkit/source/awt/vclxwindow1.cxx
index f38a95c..77af1b2 100644
--- a/toolkit/source/awt/vclxwindow1.cxx
+++ b/toolkit/source/awt/vclxwindow1.cxx
@@ -46,10 +46,9 @@
Window *pWindow = GetWindow();
if ( pWindow->GetType() != WINDOW_WORKWINDOW )
{
- ::com::sun::star::uno::Exception *pException =
- new ::com::sun::star::uno::RuntimeException;
- pException->Message = ::rtl::OUString("not a work window");
- throw pException;
+ com::sun::star::uno::Exception aException;
+ aException.Message = ::rtl::OUString("not a work window");
+ throw aException;
}
// use sal_Int64 here to accomodate all int types
@@ -77,10 +76,9 @@
}
if( bThrow )
{
- ::com::sun::star::uno::Exception *pException =
- new ::com::sun::star::uno::RuntimeException;
- pException->Message = ::rtl::OUString("incorrect window handle type");
- throw pException;
+ com::sun::star::uno::Exception aException;
+ aException.Message = ::rtl::OUString("incorrect window handle type");
+ throw aException;
}
// create system parent data
SystemParentData aSysParentData;
--
To view, visit https://gerrit.libreoffice.org/3418
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I22b7d3d642e7ee0488d6b726a331d328065bbee7
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Stephan Bergmann <sbergman@redhat.com>
Context
- [PATCH libreoffice-4-0] rhbz#867808 Do not throw RuntimeException by pointer · Stephan Bergmann (via Code Review)
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.