summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-08 04:33:30 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-08 04:33:30 +0000
commitab5dc0cc26c10de6d04c8adf699f0614187076da (patch)
treeb96a6c4ae8447cf8c51bfdc282c510a883e17e6a
parent20402df0418afc42aa4052de7acccb6ecfdb80e9 (diff)
downloadATCD-ab5dc0cc26c10de6d04c8adf699f0614187076da.tar.gz
ChangeLogTag: Thu Dec 07 22:20:12 2000 Irfan Pyarali <irfan@cs.wustl.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a10
-rw-r--r--TAO/tao/Object.cpp5
-rw-r--r--TAO/tao/Remote_Object_Proxy_Impl.cpp5
3 files changed, 15 insertions, 5 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 5d2e168cbba..5eb84f3577f 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,13 @@
+Thu Dec 07 22:20:12 2000 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * tao/Object.cpp (_is_a): Checking the hint of the object can be
+ done in the CORBA::Object class before invoking the appropriate
+ proxy implementation. The hint check is common for all
+ implementations and not just the remote case. Therefore, the
+ code was removed from TAO_Remote_Object_Proxy_Impl::_is_a() and
+ moved to CORBA::Object::_is_a(). Thanks to Russell L. Carter
+ <rcarter@consys.com> for reporting this problem.
+
Thu Dec 07 20:00:59 2000 Marina Spivak <marina@cs.wustl.edu>
* tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp
index 76b3ce3e1ae..41948a3893d 100644
--- a/TAO/tao/Object.cpp
+++ b/TAO/tao/Object.cpp
@@ -107,6 +107,11 @@ CORBA_Object::_is_a (const char *type_id,
if (this->is_local_)
ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
+ if (this->_stubobj ()->type_id.in () != 0
+ && ACE_OS::strcmp (type_id,
+ this->_stubobj ()->type_id.in ()) == 0)
+ return 1;
+
CORBA::Boolean _tao_retval = 0;
// Get the right Proxy Implementation.
diff --git a/TAO/tao/Remote_Object_Proxy_Impl.cpp b/TAO/tao/Remote_Object_Proxy_Impl.cpp
index 526bd7f5299..0de86840fdb 100644
--- a/TAO/tao/Remote_Object_Proxy_Impl.cpp
+++ b/TAO/tao/Remote_Object_Proxy_Impl.cpp
@@ -24,11 +24,6 @@ TAO_Remote_Object_Proxy_Impl::_is_a (const CORBA::Object_ptr target,
const CORBA::Char *logical_type_id,
CORBA_Environment &ACE_TRY_ENV)
{
- if (target->_stubobj ()->type_id.in () != 0
- && ACE_OS::strcmp (logical_type_id,
- target->_stubobj ()->type_id.in ()) == 0)
- return 1;
-
// Here we go remote to answer the question.
CORBA::Boolean _tao_retval = 0;