diff --git a/cint/src/v6_struct.cxx b/cint/src/v6_struct.cxx index b9452a8aa3aaf03ba4dd5d64051e11f596a9b7dd..cac39c3d3090113ec817dee73561b00007be165d 100644 --- a/cint/src/v6_struct.cxx +++ b/cint/src/v6_struct.cxx @@ -476,8 +476,13 @@ int G__class_autoloading(int tagnum) int res = (*G__p_class_autoloading)(G__fulltagname(tagnum, 1), copyLibname); if (G__struct.type[tagnum] == G__CLASS_AUTOLOAD) { if (strstr(G__struct.name[tagnum],"<") != 0) { - // Kill this entry. + // Kill this entry. + int store_def_tagnum = G__def_tagnum; + int store_tagdefining = G__tagdefining; + G__tagdefining = G__def_tagnum = G__struct.parent_tagnum[tagnum]; int found_tagnum = G__defined_tagname(G__struct.name[tagnum],3); + G__def_tagnum = store_def_tagnum; + G__tagdefining = store_tagdefining; if (found_tagnum != tagnum) { // The autoload has seemingly failed! // This can happens in 'normal' case if the string representation of the