CCMenuItemSprite setOpacity() setColor() a bug?

After I move to 2.14, I found that I can not set the color or opacity of a CCMenuItemSprite object.I found the setOpacity() and setColor() of CCMenuItemSprite did not work at all.There’s no override of them in CCMenuItemSprite.finally, I solve it by adding the code below into CCMenuItemSprite class which is copied from previous version of cocos2d-x:

//=
virtual void setOpacity(GLubyte opacity);

void CCMenuItemSprite::setOpacity(GLubyte opacity)
{
dynamic_cast<CCRGBAProtocol*>(m_pNormalImage)->setOpacity(opacity);
if (m_pSelectedImage)
{
dynamic_cast<CCRGBAProtocol*>(m_pSelectedImage)->setOpacity(opacity);
}
if (m_pDisabledImage)
{
dynamic_cast<CCRGBAProtocol*>(m_pDisabledImage)->setOpacity(opacity);
}
}

virtual void setColor(const ccColor3B &color);

void CCMenuItemSprite::setColor(const ccColor3B &color)
{
dynamic_cast<CCRGBAProtocol*>(m_pNormalImage)->setColor(color);
if (m_pSelectedImage)
{
dynamic_cast<CCRGBAProtocol*>(m_pSelectedImage)->setColor(color);
}
if (m_pDisabledImage)
{
dynamic_cast<CCRGBAProtocol*>(m_pDisabledImage)->setColor(color);
}
}