Skip to content

Commit 97fd881

Browse files
committed
Issue cocos2d#2416: Flag error
1 parent eb7f54b commit 97fd881

File tree

4 files changed

+35
-2
lines changed

4 files changed

+35
-2
lines changed

cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js

-1
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,6 @@ cc.Node.RenderCmd.prototype = {
440440
if (transformDirty){
441441
//update the transform
442442
this.transform(parentCmd);
443-
this._dirtyFlag = this._dirtyFlag & cc.Node._dirtyFlags.transformDirty ^ this._dirtyFlag;
444443
}
445444
};
446445

cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js

+11
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,17 @@ cc.LabelTTF._firsrEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]/;
367367

368368
proto._syncStatus = function (parentCmd) {
369369
var flags = cc.Node._dirtyFlags, locFlag = this._dirtyFlag;
370+
var parentNode = parentCmd ? parentCmd._node : null;
371+
372+
if(parentNode && parentNode._cascadeColorEnabled && (parentCmd._dirtyFlag & flags.colorDirty))
373+
locFlag |= flags.colorDirty;
374+
375+
if(parentNode && parentNode._cascadeOpacityEnabled && (parentCmd._dirtyFlag & flags.opacityDirty))
376+
locFlag |= flags.opacityDirty;
377+
378+
if(parentCmd && (parentCmd._dirtyFlag & flags.transformDirty))
379+
locFlag |= flags.transformDirty;
380+
370381
var colorDirty = locFlag & flags.colorDirty,
371382
opacityDirty = locFlag & flags.opacityDirty;
372383
if (colorDirty)

cocos2d/core/layers/CCLayerCanvasRenderCmd.js

+13-1
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@
324324
var colorDirty = locFlag & flags.colorDirty,
325325
opacityDirty = locFlag & flags.opacityDirty;
326326
if (colorDirty)
327-
this._updateDisplayColor()
327+
this._updateDisplayColor();
328328

329329
if (opacityDirty)
330330
this._updateDisplayOpacity();
@@ -337,6 +337,7 @@
337337
if (colorDirty || opacityDirty || (locFlag & flags.gradientDirty)){
338338
this._updateColor();
339339
}
340+
this._dirtyFlag = 0;
340341
}
341342
};
342343
})();
@@ -394,6 +395,17 @@
394395

395396
proto._syncStatus = function (parentCmd) {
396397
var flags = cc.Node._dirtyFlags, locFlag = this._dirtyFlag;
398+
var parentNode = parentCmd ? parentCmd._node : null;
399+
400+
if(parentNode && parentNode._cascadeColorEnabled && (parentCmd._dirtyFlag & flags.colorDirty))
401+
locFlag |= flags.colorDirty;
402+
403+
if(parentNode && parentNode._cascadeOpacityEnabled && (parentCmd._dirtyFlag & flags.opacityDirty))
404+
locFlag |= flags.opacityDirty;
405+
406+
if(parentCmd && (parentCmd._dirtyFlag & flags.transformDirty))
407+
locFlag |= flags.transformDirty;
408+
397409
var colorDirty = locFlag & flags.colorDirty,
398410
opacityDirty = locFlag & flags.opacityDirty;
399411

cocos2d/progress-timer/CCProgressTimerCanvasRenderCmd.js

+11
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,17 @@
218218
if(!node._sprite)
219219
return;
220220
var flags = cc.Node._dirtyFlags, locFlag = this._dirtyFlag;
221+
var parentNode = parentCmd ? parentCmd._node : null;
222+
223+
if(parentNode && parentNode._cascadeColorEnabled && (parentCmd._dirtyFlag & flags.colorDirty))
224+
locFlag |= flags.colorDirty;
225+
226+
if(parentNode && parentNode._cascadeOpacityEnabled && (parentCmd._dirtyFlag & flags.opacityDirty))
227+
locFlag |= flags.opacityDirty;
228+
229+
if(parentCmd && (parentCmd._dirtyFlag & flags.transformDirty))
230+
locFlag |= flags.transformDirty;
231+
221232
var spriteCmd = node._sprite._renderCmd;
222233
var spriteFlag = spriteCmd._dirtyFlag;
223234

0 commit comments

Comments
 (0)