Fix a crash when doing Merge Down on shape layers
The patch fixes two problems: 1) KisShapeLayerCanvas::repaint() should be called from the context of the sheduler's thread when the repaint is initiated from the scheduler. Otherwise, it might conflict even with copy-ctor of KisShapeLayer, which calls addShape(), which causes a concurrent update to be issued. 2) QTextLayout's in KoSvgTextShape should be accessed exactly from the same thread they were created in. Internally, they use static text items, which contain FreeType glyphs, which are unique for each(!) thread (Qt uses QThreadStorage for managing FreeType library). NOTE: There is still a big problem that vector tools may access the shapes while the scheduler is working on them (vector tools are not ported to strokes yet). This problem should be addressed of course, but not in this patch. BUG:388699
parent
2c595ab7
Please register or sign in to comment