https://bugs.kde.org/show_bug.cgi?id=463442

Harald Sitter <sit...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/util |https://invent.kde.org/util
                   |ities/filelight/commit/a206 |ities/filelight/commit/dc1b
                   |fed2488686d4222722ae26e4d25 |fb1943ff14f0f5daa072b3e198d
                   |62abdc1fd                   |bcaa42e92

--- Comment #4 from Harald Sitter <sit...@kde.org> ---
Git commit dc1bfb1943ff14f0f5daa072b3e198dbcaa42e92 by Harald Sitter.
Committed on 01/01/2023 at 16:10.
Pushed by sitter into branch 'release/22.12'.

change the semantics of duplication

previously this would simply clone the shared pointer, but that leaves
references into the old tree behind which can then cause state confusion
(e.g. the asserts to do with m_parent consistency can fail). instead opt
for a deep-clone behavior. it's more expensive but also much much safer.

code is very exhaustive because we don't want to stack exhaust on
duplication so a recursive call won't do. instead we iterate down the
tree and then append all folders in reverse order.

add a test to ensure duplication works correctly

M  +18   -0    autotests/core/testFileTree.cpp
M  +1    -0    autotests/core/testFileTree.h
M  +42   -0    src/fileTree.cpp
M  +4    -4    src/fileTree.h

https://invent.kde.org/utilities/filelight/commit/dc1bfb1943ff14f0f5daa072b3e198dbcaa42e92

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to