[krita] [Bug 459904] Krita crashes when copying a selection in a layer when the selection was in a underlying selection layer
https://bugs.kde.org/show_bug.cgi?id=459904 Dmitry Kazakov changed: What|Removed |Added Latest Commit||https://invent.kde.org/grap ||hics/krita/commit/be1bfa4e9 ||e791edf66c496767b7e837e11d4 ||f888 Status|REPORTED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Dmitry Kazakov --- Git commit be1bfa4e9e791edf66c496767b7e837e11d4f888 by Dmitry Kazakov. Committed on 04/11/2022 at 09:02. Pushed by dkazakov into branch 'master'. Port KisShapeSelection to use KisImageResolutionProxy Now KisShapeSelection holds a proper link to the image resolution and handles it correctly when resolution/image changes. That is mostly important when the selection is moved from one image to another. M +3-1libs/image/KisEncloseAndFillPainter.cpp M +52 -2libs/image/KisImageResolutionProxy.cpp M +49 -2libs/image/KisImageResolutionProxy.h M +5-1libs/image/commands/kis_set_global_selection_command.cpp M +5-2libs/image/kis_cached_paint_device.h M +1-0libs/image/kis_convolution_painter.cc M +5-0libs/image/kis_default_bounds.cpp M +1-0libs/image/kis_default_bounds.h M +5-1libs/image/kis_fill_painter.cc M +16 -13 libs/image/kis_mask.cc M +37 -3libs/image/kis_selection.cc M +12 -4libs/image/kis_selection.h M +5-2libs/image/kis_selection_based_layer.cpp M +2-0libs/image/kis_selection_component.h M +4-0libs/image/kis_types.h M +5-1libs/image/layerstyles/KisLayerStyleKnockoutBlower.cpp M +3-1libs/image/tests/kis_filter_test.cpp M +5-4libs/image/tests/kis_image_test.cpp M +1-0libs/image/tests/kis_paint_device_test.cpp M +1-0libs/image/tests/kis_pixel_selection_test.cpp M +1-1libs/image/tests/kis_projection_leaf_test.cpp M +5-3libs/image/tests/kis_selection_test.cpp M +1-1libs/libkis/ColorizeMask.cpp M +1-0libs/libkis/Selection.cpp M +1-1libs/ui/flake/kis_shape_controller.cpp M +34 -23 libs/ui/flake/kis_shape_selection.cpp M +9-5libs/ui/flake/kis_shape_selection.h M +29 -20 libs/ui/flake/kis_shape_selection_model.cpp M +6-2libs/ui/flake/kis_shape_selection_model.h M +1-5libs/ui/kis_image_view_converter.cpp M +4-3libs/ui/processing/fill_processing_visitor.cpp M +1-0libs/ui/tests/kis_selection_decoration_test.cpp M +4-4libs/ui/tests/kis_shape_selection_test.cpp M +4-4libs/ui/tests/util.h M +1-0libs/ui/tool/strokes/freehand_stroke.h M +1-1libs/ui/tool/strokes/kis_painter_based_stroke_strategy.h M +4-1plugins/extensions/colorrange/dlg_colorrange.cc M +3-1plugins/filters/tests/kis_all_filter_test.cpp M +2-1plugins/generators/screentone/KisScreentoneGenerator.cpp M +1-0plugins/generators/seexpr/kis_wdg_seexpr_presets_save.cpp M +2-0plugins/generators/seexpr/tests/kis_seexpr_generator_test.cpp M +2-2plugins/impex/libkra/kis_kra_load_visitor.cpp M +1-1plugins/impex/libkra/kis_kra_save_visitor.cpp M +4-3plugins/impex/libkra/tests/kis_kra_saver_test.cpp M +4-3plugins/impex/libkra/tests/util.h M +1-0 plugins/paintops/colorsmudge/KisColorSmudgeStrategyWithOverlay.cpp M +1-0plugins/tools/selectiontools/KisToolSelectMagnetic.cc M +1-0plugins/tools/selectiontools/kis_tool_select_elliptical.cc M +1-0plugins/tools/selectiontools/kis_tool_select_outline.cc M +1-0plugins/tools/selectiontools/kis_tool_select_path.cc M +1-0plugins/tools/selectiontools/kis_tool_select_polygonal.cc M +1-0plugins/tools/selectiontools/kis_tool_select_rectangular.cc M +1-0plugins/tools/selectiontools/kis_tool_select_similar.cc M +3-1sdk/tests/qimage_based_test.h https://invent.kde.org/graphics/krita/commit/be1bfa4e9e791edf66c496767b7e837e11d4f888 -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459904] Krita crashes when copying a selection in a layer when the selection was in a underlying selection layer
https://bugs.kde.org/show_bug.cgi?id=459904 --- Comment #4 from Dmitry Kazakov --- Git commit 82ac6fa60f846d8e8783118ef594def07b968654 by Dmitry Kazakov. Committed on 04/11/2022 at 09:02. Pushed by dkazakov into branch 'master'. Refactor KisShapeLayer to use view converter container instread of raw links The patch also refactors the constructors of the shape layer and makes them a bit more straightforward. Ideally, we should make sure that the image pointer is *not* passed to the layer in the constructor, but it seems a bit too complicated right now. M +12 -5libs/ui/flake/KisReferenceImagesLayer.cpp M +28 -63 libs/ui/flake/kis_shape_layer.cc M +5-4libs/ui/flake/kis_shape_layer.h M +55 -53 libs/ui/flake/kis_shape_layer_canvas.cpp M +15 -12 libs/ui/flake/kis_shape_layer_canvas.h https://invent.kde.org/graphics/krita/commit/82ac6fa60f846d8e8783118ef594def07b968654 -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459904] Krita crashes when copying a selection in a layer when the selection was in a underlying selection layer
https://bugs.kde.org/show_bug.cgi?id=459904 Halla Rempt changed: What|Removed |Added CC||[email protected] --- Comment #3 from Halla Rempt --- *** Bug 461249 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459904] Krita crashes when copying a selection in a layer when the selection was in a underlying selection layer
https://bugs.kde.org/show_bug.cgi?id=459904 Halla Rempt changed: What|Removed |Added CC||[email protected] --- Comment #2 from Halla Rempt --- *** Bug 460110 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459904] Krita crashes when copying a selection in a layer when the selection was in a underlying selection layer
https://bugs.kde.org/show_bug.cgi?id=459904 Dmitry Kazakov changed: What|Removed |Added CC||[email protected] --- Comment #1 from Dmitry Kazakov --- The bug is partly fixed in master and krita/5.1 branch, though still has a problem: 1) Copy/Paste the layer like described in the bug (works fine) 2) Close Krita 3) See the crash on exit krita.exe caused an Access Violation at location 7FFE2D55DD91 in module libkritaui.dll Reading from location . AddrPC Params 7FFE2D55DD91 0001 7FFE2D55E961 01779F5F1B50 libkritaui.dll!KisShapeSelection::KisShapeSelection+0x231 7FFE2D55E239 0001 7FFE7749FDE6 0177B5C25BB0 libkritaui.dll!non-virtual thunk to KisShapeSelection::clone(KisSelection*)+0x29 7FFE0462B329 0177B5BC3880 0177B5C2 01779F5F13D0 libkritaimage.dll!KisSelection::copyFrom+0x1d9 7FFE0462B11D 0177B5C0EA20 01779F5B30A0 0177B5BC3880 libkritaimage.dll!KisSelection::KisSelection+0x4d 7FFE045B7DC8 0177B5BC3880 00550A4FE190 0177B5C25A50 libkritaimage.dll!KisMask::KisMask+0x118 7FFE044C051D 0058 0177AB77B890 libkritaimage.dll!KisEffectMask::KisEffectMask+0xd 7FFE0463156F 0177B5C25A50 7FFE3236D9E9 0177B5C0EA20 libkritaimage.dll!KisSelectionMask::KisSelectionMask+0xf 7FFE04634155 01778FA0 0004 0058 libkritaimage.dll!KisSelectionMask::clone+0x25 7FFE045ED63F 0002 00550A4FE2A8 0001 libkritaimage.dll!KisNode::KisNode+0x11f 7FFE04570774 0001 7FFE7749FDE6 libkritaimage.dll!KisLayer::KisLayer+0x14 7FFE04616AA8 0001 libkritaimage.dll!KisPaintLayer::KisPaintLayer+0x18 7FFE0431CCE5 0177B5BC38C0 0177B5BC38B0 01779F5B3A70 libkritaimage.dll!KisPaintLayer::clone+0x25 7FFE2D5DC667 0003 00550A4FE6F8 00550A4FE3C0 libkritaui.dll!(anonymous namespace)::safeCopyNode+0x97 7FFE2D5DCB0D 0040 01778F83 libkritaui.dll!createDocument+0x2cd 7FFE2D5DD2C7 01779F5D2AB0 7FFE796947B1 7FFDFD3390E8 libkritaui.dll!KisMimeData::retrieveData+0x137 7FFDFCFB627E 0177915D8D10 7FFDFCFB720D 0104 Qt5Core.dll!QMimeDataPrivate::retrieveTypedData+0x2e 7FFDFCFB7668 0177915D8D10 7FFE2BE7D982 0177B5C26F50 Qt5Core.dll!QMimeData::imageData+0x28 7FFE2BE7FD7F 00550A4FE7C8 00550A4FE810 00550268 qwindows.dll!QWindowsMimeImage::canConvertFromMime+0x3f 7FFE2BE84AE0 0069 010089FE 8501 qwindows.dll!QWindowsMimeConverter::converterFromMime+0x140 7FFE2BE79E95 01779D4ED000 7FFE796C0800 0001 qwindows.dll!QWindowsOleDataObject::GetData+0x65 7FFE7875B9A0 80004005 0011 00550A4FE930 ole32.dll!HandleFromHandle+0x3c [com\ole32\ole232\clipbrd\clipapi.cpp @ 2048] 7FFE7875C1F2 00550A4FE980 0177B52FBAA0 ole32.dll!RenderCurrentFormat+0x8e [com\ole32\ole232\clipbrd\clipapi.cpp @ 4052] 7FFE7875C318 003905D4 01770011 2A96 ole32.dll!RenderFormat+0x104 [com\ole32\ole232\clipbrd\clipapi.cpp @ 4185] 7FFE78718451 0001 7FFE 00550A4FED10 ole32.dll!ClipboardWndProc+0x2e1c1 [com\ole32\ole232\clipbrd\clipapi.cpp @ 683] 7FFE777DE858 00550A4FED10 7FFE786EA290 003905D4 USER32.dll!UserCallWinProcCheckWow+0x2f8 7FFE777DE3DC 0011 USER32.dll!DispatchClientMessage+0x9c 7FFE777F0C03 7FFE742508E9 7FFE777DC260 USER32.dll!__fnDWORD+0x33 7FFE79710EF4 7FFE777FB36E 0177 0177AB4EC030 ntdll.dll!KiUserCallbackDispatch+0x24 7FFE76D82DC4 0177 0177AB4EC030 win32u.dll!NtUserGetClipboardData+0x14 7FFE777FB36E 0177A4DC4640 01778FFCAAA0 USER32.dll!GetClipboardData+0x5e 7FFE7875A6AB 003905D4 0001 00500E00 ole32.dll!FlushViaUser32Render+0x73 [com\ole32\ole232\clipbrd\clipapi.cpp @ 2302] 7FFE7875BCFA 00500EA8 ole32.dll!OleFlushClipboardInternal+0xb2 [com\ole32\ole232\clipbrd\clipapi.cpp @ 2542] 7FFE7875C68B 0002 7FFE79689993 00500EA8 ole32.dll!OleFlushClipboard+0xeb [com\ole32\ole232\clipbrd\clipapi.cpp @ 2250] 7FFE2BEB8BD4 0090 00500EA8 qwindows.dll!QWindowsClipboard::clipboardViewerWndProc+0x314 7FFE2BEB74F6 017791D7D180 0001 0001 qwindows.dll!qClipboardViewerWndProc+0x46 7FFE777DE858 0068
