BUG in CCBReader. Sub CCB files visibility (and proposed fix)

Hi,

I have detected a bug in the CCBReader.cpp file. There is a problem in this code:

if (dynamic_cast(node))
    {
        CCBFile *ccbFileNode = (CCBFile*)node;

        CCNode *embeddedNode = ccbFileNode->getCCBFileNode();
        if(embeddedNode!=NULL)
        {
        embeddedNode->setPosition(ccbFileNode->getPosition());
        embeddedNode->setRotation(ccbFileNode->getRotation());
        embeddedNode->setScale(ccbFileNode->getScale());
        embeddedNode->setTag(ccbFileNode->getTag());
        embeddedNode->setVisible(true); // <================== It should be ccbFileNode->isVisible()
        embeddedNode->ignoreAnchorPointForPosition(ccbFileNode->isIgnoreAnchorPointForPosition());

        mActionManager->moveAnimationsFromNode(ccbFileNode, embeddedNode);

        ccbFileNode->setCCBFileNode(NULL);

        node = embeddedNode;
        }
    }

Thanks.

Jesús

Node::setVisible() will set the attribute. There is meaningless to invoke Node::isVisible(), because it just return a value, but the return value is not used.

Dear Zhang,

I swear it works for nested CCB files :slight_smile: