From 82de80b1f98e47777df95a348b358e2920c5c09d Mon Sep 17 00:00:00 2001
From: Rene Brun <Rene.Brun@cern.ch>
Date: Thu, 29 May 2008 10:15:30 +0000
Subject: [PATCH] Make the necessary changes in view of the coming changes in
 TClass where the new member fClassInfo is now of type ClassInfo_t instead of
 G__ClassInfo.

git-svn-id: http://root.cern.ch/svn/root/trunk@24049 27541ba8-7e3a-0410-8455-c3a389f83636
---
 bindings/pyroot/src/Adapters.cxx          | 4 ++--
 bindings/pyroot/src/ConstructorHolder.cxx | 2 +-
 bindings/pyroot/src/Converters.cxx        | 4 ++--
 bindings/pyroot/src/MethodHolder.cxx      | 6 +++---
 bindings/pyroot/src/PropertyProxy.cxx     | 6 +++---
 bindings/pyroot/src/RootWrapper.cxx       | 4 ++--
 bindings/pyroot/src/TPyClassGenerator.cxx | 2 +-
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/bindings/pyroot/src/Adapters.cxx b/bindings/pyroot/src/Adapters.cxx
index 9c129199173..08a3eaf5ec1 100644
--- a/bindings/pyroot/src/Adapters.cxx
+++ b/bindings/pyroot/src/Adapters.cxx
@@ -258,7 +258,7 @@ std::string PyROOT::TScopeAdapter::Name( unsigned int mod ) const
    }
 
    if ( mod & ( ROOT::Reflex::FINAL | ROOT::Reflex::F ) ) {
-      G__ClassInfo* clInfo = fClass->GetClassInfo();
+      G__ClassInfo* clInfo = (G__ClassInfo*)fClass->GetClassInfo();
       if ( mod & ( ROOT::Reflex::SCOPED | ROOT::Reflex::S ) )
          return clInfo ? clInfo->Fullname() : fClass->GetName();
 
@@ -277,7 +277,7 @@ std::string PyROOT::TScopeAdapter::Name( unsigned int mod ) const
       return actual;
 
    } else if ( ! ( mod & ( ROOT::Reflex::SCOPED | ROOT::Reflex::S ) ) ) {
-      G__ClassInfo* clInfo = fClass->GetClassInfo();
+      G__ClassInfo* clInfo = (G__ClassInfo*)fClass->GetClassInfo();
       return clInfo ? clInfo->Name() : fClass->GetName();
    }
 
diff --git a/bindings/pyroot/src/ConstructorHolder.cxx b/bindings/pyroot/src/ConstructorHolder.cxx
index 26e66195889..1a1020df647 100644
--- a/bindings/pyroot/src/ConstructorHolder.cxx
+++ b/bindings/pyroot/src/ConstructorHolder.cxx
@@ -149,7 +149,7 @@ PyObject* PyROOT::TConstructorHolder< T, M >::operator()(
    // otherwise only deal with default ctor
 
       if ( klass->GetClassInfo() != 0 ) {
-         Long_t tagnum = klass->GetClassInfo()->Tagnum();
+         Long_t tagnum = ((G__ClassInfo*)klass->GetClassInfo())->Tagnum();
 
       // data storage for an object of this class
          address = (Long_t)new char[ klass->Size() ];
diff --git a/bindings/pyroot/src/Converters.cxx b/bindings/pyroot/src/Converters.cxx
index 216b2d8ae59..3ca19fb76a5 100644
--- a/bindings/pyroot/src/Converters.cxx
+++ b/bindings/pyroot/src/Converters.cxx
@@ -714,8 +714,8 @@ Bool_t PyROOT::TRootObjectConverter::SetArg( PyObject* pyobject, TParameter& par
 
    // calculate offset between formal and actual arguments
       para.fv = pyobj->GetObject();
-      G__ClassInfo* clFormalInfo = fClass->GetClassInfo();
-      G__ClassInfo* clActualInfo = pyobj->ObjectIsA()->GetClassInfo();
+      G__ClassInfo* clFormalInfo = (G__ClassInfo*)fClass->GetClassInfo();
+      G__ClassInfo* clActualInfo = (G__ClassInfo*)pyobj->ObjectIsA()->GetClassInfo();
       Long_t offset = 0;
       if ( clFormalInfo && clActualInfo && clFormalInfo != clActualInfo )
          offset = G__isanybase( clFormalInfo->Tagnum(), clActualInfo->Tagnum(), para.fl );
diff --git a/bindings/pyroot/src/MethodHolder.cxx b/bindings/pyroot/src/MethodHolder.cxx
index 17801352a2a..9bed3aaa6ef 100644
--- a/bindings/pyroot/src/MethodHolder.cxx
+++ b/bindings/pyroot/src/MethodHolder.cxx
@@ -189,7 +189,7 @@ Bool_t PyROOT::TMethodHolder< T, M >::InitCallFunc_()
    fMethodCall = new G__CallFunc();
    fMethodCall->Init();
 
-   G__ClassInfo* gcl = ((TClass*)fClass.Id())->GetClassInfo();
+   G__ClassInfo* gcl = (G__ClassInfo*)((TClass*)fClass.Id())->GetClassInfo();
    if ( ! gcl )
       gcl = GetGlobalNamespaceInfo();
 
@@ -603,8 +603,8 @@ PyObject* PyROOT::TMethodHolder< T, M >::operator()(
    TClass* klass = self->ObjectIsA();
    if ( klass ) {             // TODO: check should not be needed; only for Reflex, which'll fail
    // reset this method's offset for the object as appropriate
-      int objTag  = klass->GetClassInfo()  ? klass->GetClassInfo()->Tagnum()  : -1;   // derived
-      G__ClassInfo* cli = ((TClass*)fClass.Id())->GetClassInfo();
+      int objTag  = (G__ClassInfo*)klass->GetClassInfo()  ? ((G__ClassInfo*)klass->GetClassInfo())->Tagnum()  : -1;   // derived
+      G__ClassInfo* cli = (G__ClassInfo*)((TClass*)fClass.Id())->GetClassInfo();
       int methTag = cli ? cli->Tagnum() : -1;                                         // base
       fOffset = objTag == methTag ? 0 : G__isanybase( methTag, objTag, (Long_t)object );
    }
diff --git a/bindings/pyroot/src/PropertyProxy.cxx b/bindings/pyroot/src/PropertyProxy.cxx
index 4839df057be..09cc6481cc5 100644
--- a/bindings/pyroot/src/PropertyProxy.cxx
+++ b/bindings/pyroot/src/PropertyProxy.cxx
@@ -178,8 +178,8 @@ void PyROOT::PropertyProxy::Set( TDataMember* dm )
    fName      = dm->GetName();
 
    if ( dm->GetClass()->GetClassInfo() ) {
-      fOwnerTagnum = dm->GetClass()->GetClassInfo()->Tagnum();
-      fOwnerIsNamespace = dm->GetClass()->GetClassInfo()->Property() & G__BIT_ISNAMESPACE;
+      fOwnerTagnum = ((G__ClassInfo*)dm->GetClass()->GetClassInfo())->Tagnum();
+      fOwnerIsNamespace = ((G__ClassInfo*)dm->GetClass()->GetClassInfo())->Property() & G__BIT_ISNAMESPACE;
    }
 }
 
@@ -246,7 +246,7 @@ Long_t PyROOT::PropertyProxy::GetAddress( ObjectProxy* pyobj ) {
 
    Long_t offset = 0;
    if ( 0 < fOwnerTagnum ) {
-      Int_t realTagnum = pyobj->ObjectIsA()->GetClassInfo()->Tagnum();
+      Int_t realTagnum = ((G__ClassInfo*)pyobj->ObjectIsA()->GetClassInfo())->Tagnum();
       if ( fOwnerTagnum != realTagnum )
          offset = G__isanybase( fOwnerTagnum, realTagnum, (Long_t)obj );
    }
diff --git a/bindings/pyroot/src/RootWrapper.cxx b/bindings/pyroot/src/RootWrapper.cxx
index df994544637..1c6c2580c1a 100644
--- a/bindings/pyroot/src/RootWrapper.cxx
+++ b/bindings/pyroot/src/RootWrapper.cxx
@@ -98,7 +98,7 @@ namespace {
    Long_t GetDataMemberAddress( TClass* klass, TDataMember* mb )
    {
       Long_t offset = 0;
-      G__DataMemberInfo dmi = klass->GetClassInfo()->GetDataMember( mb->GetName(), &offset );
+      G__DataMemberInfo dmi = ((G__ClassInfo*)klass->GetClassInfo())->GetDataMember( mb->GetName(), &offset );
       return dmi.Offset();
    }
 
@@ -745,7 +745,7 @@ PyObject* PyROOT::BindRootObject( void* address, TClass* klass, Bool_t isRef )
        //   Long_t offset = clActual->GetBaseClassOffset( klass );
          Long_t offset;
          if (klass->GetClassInfo() &&  clActual->GetClassInfo()) {
-            offset = G__isanybase(klass->GetClassInfo()->Tagnum(), clActual->GetClassInfo()->Tagnum(), (Long_t)address );
+            offset = G__isanybase(((G__ClassInfo*)klass->GetClassInfo())->Tagnum(), ((G__ClassInfo*)clActual->GetClassInfo())->Tagnum(), (Long_t)address );
          } else {
             offset = clActual->GetBaseClassOffset( klass ); 
          }
diff --git a/bindings/pyroot/src/TPyClassGenerator.cxx b/bindings/pyroot/src/TPyClassGenerator.cxx
index bf5eeb05e7b..43ff7f7b2bb 100644
--- a/bindings/pyroot/src/TPyClassGenerator.cxx
+++ b/bindings/pyroot/src/TPyClassGenerator.cxx
@@ -130,7 +130,7 @@ namespace {
       res->obj.i  = (Long_t)retval;
       res->ref    = (Long_t)retval;
       res->type   = 'u';
-      res->tagnum = TPyReturn::Class()->GetClassInfo()->Tagnum();
+      res->tagnum = ((G__ClassInfo*)TPyReturn::Class()->GetClassInfo())->Tagnum();
 
       return ( 1 || hash || res || libp );
    }
-- 
GitLab