 
   ###
   __clearDrawCacheCallbackFromDrawCacheManager: ->
-    @_drawCacheBitmap = null
-
-  _clearDrawCache: (force)->
+    @_resetDrawCache()
+
+  _clearDrawCache: ->
+    return unless @_drawCacheBitmap
     if @_cacheDraw == "locked"
       @_drawCacheBitmapInvalid = true
       return
-
 
     drawCacheManager.doneWithCacheBitmap @ if @_drawCacheBitmap
 


  _initFields: ->
    super
    @_initDrawCache()
    @_initTemporaryFields()
    @_initComputedFields()
    @_activeAnimator = null

    @_cachableDrawCount = 0

  _drawPropertiesChanged: ->
    @_clearDrawCache()
    @_elementDrawChangedThisFrame = true

  _elementToParentMatrixChanged: (oldElementToParentMatrix)->

  _needsRedrawing: (descendant = @) ->
    @_clearDrawCache()
    @_elementDrawChangedThisFrame = true
    if @getPendingVisible() && @getPendingOpacity() > 1/512
      @getPendingParent()?._needsRedrawing descendant
