Skip to content
  • Dmitry Kazakov's avatar
    Fix update artifacts when transforming vector layers · 813ba5eb
    Dmitry Kazakov authored
    There were two problems caused by asynchronous nature of vector
    layer transformations:
    
    1) Shape layer transformation happens in the GUI thread asynchronously,
       therefore just ask for layer's extent() right after the transformation
       is not enough, this data is not yet ready.
    
    2) Even when requesting shapeLayer->extent() for fetching oldDirtyRect,
       there is a race condition possible. If resetCache() has been called
       quite recently, then the extent will be null. Therefore the patch adds
       a special KisExternalLayer::theoreticalBoundingRect() that is supposed
       to overcome this limitation.
    
    BUG:437886
    813ba5eb