a problem about boneAnimations and CCAction

in the CocosBuilder , i create a CCNode, set bone Animation and loop it (the cycle is only 12 farme), set it autoPlay.
also i set the custom class so that i can control it in the Cocos2d-x.
i use it in the Cocos2d-x and play the Bone Animation normal.
we know , the bone Animation is repeatForever . and then i let the CCNode play a CCAction, just like CCMoveTo, it can only play the action by 0.5s.
i doubt it has some problem when we run the Bone Animtion and CCAction at the same time.
i just want to use CocosBuilder to start my game by set up gameScene and design the animation , but i doubt if it can work well by combine the Cocos2d-x.
is anyone has the same problem ? please help me!

Now i hvae a solution by change the CCBAnimationManager like this :

`void CCBAnimationManager::runAnimations(int nSeqId, float fTweenDuration)
{
CCAssert(nSeqId != -1, “Sequence id couldn’t be found”);

mRootNode->stopActionByTag(10);

CCDictElement* pElement = NULL;
CCDICT_FOREACH(mNodeSequences, pElement)
{
    CCNode *node = (CCNode*)pElement->getIntKey();
    node->stopAllActions();

    // Refer to CCBReader::readKeyframe() for the real type of value
    CCDictionary *seqs = (CCDictionary*)pElement->getObject();
    CCDictionary *seqNodeProps = (CCDictionary*)seqs->objectForKey(nSeqId);

    set<string> seqNodePropNames;

    if (seqNodeProps)
    {
        // Reset nodes that have sequence node properties, and run actions on them
        CCDictElement* pElement1 = NULL;
        CCDICT_FOREACH(seqNodeProps, pElement1)
        {
            const char *propName = pElement1->getStrKey();
            CCBSequenceProperty *seqProp = (CCBSequenceProperty*)seqNodeProps->objectForKey(propName);
            seqNodePropNames.insert(propName);

            setFirstFrame(node, seqProp, fTweenDuration);
            runAction(node, seqProp, fTweenDuration);
        }
    }

    // Reset the nodes that may have been changed by other timelines
    CCDictionary *nodeBaseValues = (CCDictionary*)mBaseValues->objectForKey(pElement->getIntKey());
    if (nodeBaseValues)
    {
        CCDictElement* pElement2 = NULL;
        CCDICT_FOREACH(nodeBaseValues, pElement2)
        {
            if (seqNodePropNames.find(pElement2->getStrKey()) == seqNodePropNames.end())
            {
                CCObject *value = pElement2->getObject();

                if (value)
                {
                   setAnimatedProperty(pElement2->getStrKey(), node, value, fTweenDuration);
                }
            }
        }
    }
}

// Make callback at end of sequence
CCBSequence *seq = getSequence(nSeqId);
CCAction *completeAction = CCSequence::createWithTwoActions(CCDelayTime::create(seq->getDuration() + fTweenDuration),
                                                            CCCallFunc::create(this, callfunc_selector(CCBAnimationManager::sequenceCompleted)));
completeAction->setTag(10);
mRootNode->runAction(completeAction);

// Set the running scene
mRunningSequence = getSequence(nSeqId);

}`