Blender Git Loki

Git Commits -> Revision 25e0d0d

February 27, 2015, 18:18 (GMT)
Filelisting: switch from mere arrays to listbases.

Was not sure about that (adds two pointers to entries, variants **and** revisions :/ ),
but with the incremental process of listing we are using now, it makes things sooooo
much easy to handle (and also avoids tons of (deep)copy and mem (re)alloc), that it's
definitively worth it.

And since most (if not all) of 'public' access to filelist is done through filtered ones,
we can easily keep this a mere array of pointers, and hence keep quick index lookup.

Also, quite noticiably simplified the whole listing code (less functions, less levels of subcalls...).

Note: for now we stick to mere alloc, we may benefit from either memarena or mempool,
but those are not threadsafe (which means we could not so easily pass mem from worker
thread to main one), so not quite sure it would be worth it.

Note: thumbnail stuff is to be reworked from scratch too, have the feeling it's not yet
100% thread safe, and using a job here is probably way overkill, since we do not show
any progress in UI.

Commit Details:

Full Hash: 25e0d0d63d84419968ecafd62e090b36e1fd994c
Parent Commit: 543984f
Lines Changed: +237, -377

4 Modified Paths:

/source/blender/editors/space_file/filelist.c (+225, -370) (Diff)
/source/blender/editors/space_file/filelist.h (+1, -1) (Diff)
/source/blender/editors/space_file/file_draw.c (+3, -2) (Diff)
/source/blender/makesdna/DNA_space_types.h (+8, -4) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021