Ensure that the superclass is registered when testing for protocol conformance.

main
theraven 15 years ago
parent 28b1db6f6e
commit 3eb0ecb96b

@ -248,7 +248,7 @@ BOOL protocol_conformsToProtocol(Protocol *p1, Protocol *p2)
BOOL class_conformsToProtocol(Class cls, Protocol *protocol)
{
if (Nil == cls || NULL == protocol) { return NO; }
while (cls)
for ( ; Nil != cls ; cls = class_getSuperclass(cls))
{
for (struct objc_protocol_list *protocols = cls->protocols;
protocols != NULL ; protocols = protocols->next)
@ -262,7 +262,6 @@ BOOL class_conformsToProtocol(Class cls, Protocol *protocol)
}
}
}
cls = cls->super_class;
}
return NO;
}

Loading…
Cancel
Save