summaryrefslogtreecommitdiff
path: root/TAO/tao/PollableC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/PollableC.cpp')
-rw-r--r--TAO/tao/PollableC.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/TAO/tao/PollableC.cpp b/TAO/tao/PollableC.cpp
index 2e934e5b702..b1f0bfd6f48 100644
--- a/TAO/tao/PollableC.cpp
+++ b/TAO/tao/PollableC.cpp
@@ -36,7 +36,9 @@ CORBA_Pollable_ptr CORBA_Pollable::_narrow (
{
if (CORBA::is_nil (obj))
return CORBA_Pollable::_nil ();
- if (!obj->_is_a ("IDL:omg.org/CORBA/Pollable:1.0", ACE_TRY_ENV))
+ CORBA::Boolean is_a = obj->_is_a ("IDL:omg.org/CORBA/Pollable:1.0", ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA_Pollable::_nil ());
+ if (is_a == 0)
return CORBA_Pollable::_nil ();
TAO_Stub* stub = obj->_stubobj ();
stub->_incr_refcnt ();
@@ -196,7 +198,9 @@ CORBA::DIIPollable_ptr CORBA::DIIPollable::_narrow (
{
if (CORBA::is_nil (obj))
return CORBA::DIIPollable::_nil ();
- if (!obj->_is_a ("IDL:omg.org/CORBA/DIIPollable:1.0", ACE_TRY_ENV))
+ CORBA::Boolean is_a = obj->_is_a ("IDL:omg.org/CORBA/DIIPollable:1.0", ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::DIIPollable::_nil ());
+ if (is_a == 0)
return CORBA::DIIPollable::_nil ();
TAO_Stub* stub = obj->_stubobj ();
stub->_incr_refcnt ();
@@ -254,7 +258,9 @@ CORBA_PollableSet_ptr CORBA_PollableSet::_narrow (
{
if (CORBA::is_nil (obj))
return CORBA_PollableSet::_nil ();
- if (!obj->_is_a ("IDL:omg.org/CORBA/PollableSet:1.0", ACE_TRY_ENV))
+ CORBA::Boolean is_a = obj->_is_a ("IDL:omg.org/CORBA/PollableSet:1.0", ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA_PollableSet::_nil ());
+ if (is_a == 0)
return CORBA_PollableSet::_nil ();
TAO_Stub* stub = obj->_stubobj ();
stub->_incr_refcnt ();