Age | Commit message (Collapse) | Author |
|
This is not used currently, but needed for work done in id-remap branch, and will
greatly reduce diff noise in this area...
|
|
|
|
Caminandes team request. In current master it's not possible to do this in a total
clean way, so we are simply setting all user counts of given lib's datablocks to zero
(similar to rna_ID_user_clear()'s doing).
This is a bit crappy because it still lets datablocks floating around (with invalid
user count values), and requires a save & reload cycle to be finalized. But for now
it should be good enough. Propper implementation will be added to id-remap.
|
|
Since it also involves usercount manipulation, safer and cleaner to do it in BKE_library...
|
|
We have callbacks for that, they also do some checks and help ensure things are done
correctly. Only place where this is assumed not true is blenloader (since here we
may affect refcount of library IDs as well...).
|
|
|
|
|
|
When children & parents were selected in the outliner,
it attempted to free the the object twice.
|
|
Steps to reproduce were: startup.blend, move any object, delete active scene (nothing happens), undo (nothing happens), second undo is needed to revert object transformation
|
|
Adds context menu for scenes in the outliner, for now, with only a 'Delete' entry.
D1448 by @lichtwerk, review by @aligorith and @Severin
|
|
|
|
Was adding then renaming, unnecessarily.
|
|
Tooltips for buttons in the Outliner could overlap the Outliner's RMB
menu in some cases (and there's no way to get rid of the tooltip again).
This disables the button's tooltip before creating the menu (as we do it
for the normal RMB menu)
|
|
|
|
Nice offset-by-one index error. ;)
|
|
Typical error using '->next' member of a freed linked list item. A bit trickier
even here, since we have some recursion...
Trivial fix for nasty crasher, safe for 2.74 imho?
|
|
It would be even better if these used their own dedicated menu which could include
the protect values too, but this one at least works now
|
|
|
|
|
|
No functional changes.
D1067 by @lichtwerk
|
|
Context menu to toggle render, visibility & delete
D996 by @lichtwerk
|
|
|
|
No functional change, D997 by @lichtwerk
|
|
Patch by rupp (Torsten Rupp), review and minor style edits by mont29 (Bastien Montagne).
|
|
|
|
and their data
|
|
|
|
|
|
Opted to keep includes if they are used indirectly (even if removing is possible).
|
|
View2D had some inconsistencies making it error prone in some cases.
- Inconstant checking for NULL x/y args.
Disallow NULL args for x/y destination pointers, instead add:
- UI_view2d_region_to_view_x/y
- UI_view2d_view_to_region_x/y
- '_no_clip' suffix wasn't always used for non-clipping conversion,
switch it around and use a '_clip' suffix for all funcs that clip.
- UI_view2d_text_cache_add now clips before adding cache.
- '_clip' funcs return a bool to quickly check if its in the view.
- add conversion for rectangles, since this is a common task:
- UI_view2d_view_to_region_rcti
- UI_view2d_region_to_view_rctf
|
|
|
|
|
|
|
|
In previous optimization in outliner I assumed that order in treehash was not important.
But testing outliner in datablocks mode revealed a problem: when user expands multiple recursive levels and then closes any element, it always closed the top level of recursion.
Now it should work fine with recursive trees.
Now treehash contains groups of elements indexed by (id,nr,type). Adding an element with the same (id,nr,type) results in appending it to existing group. No duplicates are possible in treehash.
This commit should also make lookups a little bit faster, because searching in small arrays by "used" is faster than searching in hashtable with duplicates by "id,nr,type,used".
|
|
- performance of outliner was low because of unoptimal data structures.
- now it uses BLI_mempool instead of custom mempool and GHash to make searches for duplicates faster.
- also fix undesired behaviour of BLI_mempool_as_arrayN
thanks to Campbell Barton and Lukas Tönne for helping me get a better fix put together.
|
|
- incorrect NULL check in logic UI drawing
- incorrect NULL check in octree quad test
|
|
indent.
also indent case's within the switch (we already did both of these almost everywhere)
|
|
ED_object_editmode_load/enter/exit
|
|
|
|
- move recursive bone/parent check into ED_armature.h
- remove unused vars
- use const for paint vector args.
|
|
|
|
from Lawrence D'Oliveiro (ldo)
- more comments
- more uses of bool type
- define symbol for length of in_use array in check_for_dupid
|
|
|
|
|
|
- linking groups into a scene now uses the objects original layers (some users have the layers set to useful values, so overwriting isnt so nice).
- dropping objects into the 3d view would make them active but not selected, a valid but confusing state, since most tools activate and select now objects.
|
|
besides performance in some cases.
* DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in
most cases. This will clear the dependency graph, and only rebuild it right
before it's needed again when the scene is re-evaluated.
This is done because DAG_scene_sort is slow when called many times from
python operators. Further the scene argument is not needed because most
operations can potentially affect more than the current scene.
* DAG_scene_relations_update will now rebuild the dependency graph if it's not
there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare
cases that need it.
* Remove various places where ob->recalc was set manually. This should go
through DAG_id_tag_update() in nearly all cases instead since this is now
a fast operation. Also removed DAG_ids_flush_update that goes along with
such manual tagging of ob->recalc.
|
|
- use DummyRNA_NULL_items to replace empty enums.
- replace calloc with malloc in copy_dverts since its copied over after.
- add wmGesture->userdata, so operators that use gestures have somewhere to store their own data (not used yet).
|
|
hair_velocity_smoothing()
and a unlikely NULL pointer dereference in unlink_material_cb().
|
|
few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()...
|
|
Using "outliner data operation" on vertexgroup suggested it should work, but this is not
supported yet. Similar to all the other cases it throws a Report warning now.
|