cocos2d/cocos2d-x — pull request #3867 by nichos1983 (2013-09-30 08:46:49+00:00)
Title: fix bug: the alpha value of CCProgressTimer can not be updated correctly sometimes

Steps of reproducing the bug:
1 Create A of CCNode type. Create B as a CCProgressTimer. Add B as the child of A.
2 call A->setCascadeOpacityEnabled(true).
3 call A->runAction(CCFadeTo::create(1.0f, 0));

Result:
Due to the setting in step 2, the alpha value(opacity) of B is expected to be updated to the same value as A when running the action. And alpha of B is zero when the action is finished. But the result is, the alpha value of A is correct, while B is wrong and the alpha of B is not zero in the end.

Root cause:
CCProgressTimer is actually a wrapper of CCSprite. If we run an action, when updating the alpha value of CCProgressTimer, we need to update the alpha value of its child CCSprite accordingly. So we need to overwrite void ProgressTimer::updateDisplayedOpacity(GLubyte parentOpacity).

Fix:
Add the function and overwrite it. The bug is gone.