Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-19Fix: Crash when closing window while Outliner shows screensJulian Eisel
Steps to reproduce were: * From factory settings, change Outliner Display Mode to "Blender File" * Open "Screens" item, make sure all listed screens are visible * Open Preference window, close it * Mouse hover the outliner -> crash Fix is to force an Outliner tree rebuild when closing screens.
2020-06-19UI: Minor optimization to Outliner lookup for hovered elementJulian Eisel
The lookup to find the hovered Outliner tree element would possibly check children that can be skipped with a simple check. I experimented with various ways to avoid work in this lookup. This one is simple and reliable, which others wouldn't have been afaics. Plus, there's not much performance to be gained here anyway.
2020-06-19UI: Avoid rebuilding Outliner tree when opening/collapsing itemsJulian Eisel
In big files, the Outliner would have a noticeable lag when opening or collapsing items. That was because the entire tree was rebuilt, which isn't actually needed in most cases. So we avoid it where possible now.
2020-06-19UI: Don't rebuild Outliner tree to remove highlight when leaving areaJulian Eisel
When leaving the Outliner's area, the highlight would be removed and cause a full rebuild of the tree. This caused a noticable lag in bigger files.
2020-06-19Outliner: Show pose group iconsNathan Craddock
Pose groups previously showed a dot icon. Now it draws the correct icon.
2020-06-18Outliner: Fix (unreported) object select in multiple collectionsNathan Craddock
Previous commits to fix parent selection introduced incorrect behavior when selecting objects linked to multiple collections. The clicked object would be selected, but also the first listed object in the tree would be selected. Instead of always searching for a parent object to select, only search back when the selected element is not an ID_OB. This prevents multiple selection of objects linked to multiple collections.
2020-06-17Refactor duplicate of data-blocks.Bastien Montagne
Main change from user side, besides that all pointers should now be properly remapped to new IDs, is that linked objects are no longer preserved when doing a full copy of scenes. Will open a task to check whether we actually still want that behavior (and re-code it in a more correct way then). This is the main part of work done here, it aims at uniformizing and sanitizing that 'deep copy' process for supported IDs (currently scenes, collections and objects). Note that there will be more follow up commits after that one, but this should be the most risky and changing one.
2020-06-17Outliner: Unified delete hierarchy operatorNathan Craddock
This resolves T73673 by allowing delete hierarchy in all outliner view modes. It also unifies the collection and object hierarchy delete into a single operator like in rBae98a033c856. This makes it easier to delete all selected collection and object hierarchies at once. This also removes the old object delete hierarchy code in favor of the batch delete code which has been default for over a year. Maniphest Tasks: T73673 Differential Revision: https://developer.blender.org/D7675
2020-06-16Cleanup: remove hierarchy parameter from `BKE_collection_duplicate`Bastien Montagne
It makes no sense to deep-copy a collection and not also copy its children collections... Parameter was not used anymore anyway. So now this duplicate function will always at least deep-duplicate all of its children collections, recursively.
2020-06-05Code Cleanup: fcurve function namingJeroen Bakker
2020-06-02UI: Expand linked/overriden collections by default in the OutlinerJulian Eisel
When linking or overriding an instanced collection, the new collection item in the Outliner is now un-collapsed by default. Linking and overriding is typically used in production scenes, where collections tend to contain many items (children, grand-children, etc.). If all collections in that hierarchy are expanded by default, the Outliner gets flooded with items. So users ended up manually collapsing the collections. Part of T76555. Reviewed by: Andy Goralczyk, Bastien Montange. Differential Revision: https://developer.blender.org/D7626
2020-05-27Merge branch 'blender-v2.83-release'Nathan Craddock
2020-05-27Fix: A few missing outliner selection sync tagsNathan Craddock
Add selection syncing for object add named (e.g. drag and drop from outliner to 3D view), outliner right click (a sync when the context menu is cancelled), and for object selection from Python.
2020-05-23Merge branch 'blender-v2.83-release'Nathan Craddock
2020-05-23Fix T76578: Show bone visibility driver in outlinerNathan Craddock
Allow setting drivers and keyframes for the bone visibility restriction icon in the outliner. Before the button was a simple icon button, but it is now connected to the RNA property to show the driven or keyframed state. Also when hiding a bone from the outliner it would be deselected, but from the properties editor it would remain selected. This moves the deselection to the RNA update function to ensure the bone is always deselected. Differential Revision: https://developer.blender.org/D7825
2020-05-18Merge branch 'blender-v2.83-release'Bastien Montagne
2020-05-18Outliner: Fix (unreported) more data-changing operators missing undo.Bastien Montagne
2020-05-18Merge branch 'blender-v2.83-release'Bastien Montagne
2020-05-18Fix T76799: Crash from undoing the copy-pasting of multiple data blocks.Bastien Montagne
Bug was actually in outliner code, paste operator would not generate any undo step... This was not correct ever, but with new undo code this has become a critical issue, it cannot survive a situation where current main data has been changed without a proper undo push. This illustrates again how much of a catastrophic mess the 'tools' callbacks of the outliner are currently, it has already caused us quiet some pain in the past, and will keep doing so until this is fully sanitized am afraid. Would strongly suggest getting rid of thosw nasty mix of custom callbacks requiring manual undo pushes, I do not see the added value of this compared to regular menus calling regular operators. It only adds confusion and extra code for nothing...
2020-05-15Merge branch 'blender-v2.83-release'Philipp Oeser
2020-05-15Fix T76710: objects get lost in linked/overridden collectionsPhilipp Oeser
Right now: - drag-drop in the Outliner prevents dropping inside linked collections - drag-drop in the Outliner allows dropping inside overridden collections (should not be the case) - `Object Properties` > `Collections` panel allows to add to overridden collection (should not be the case) - `Object Properties` > `Collections` panel filters out non-local collections (so adding to linked collections is forbidden) - `bpy collection.objects.link()` allows to add to linked collections (should not be the case) - `bpy collection.objects.link()` allows to add to overridden collections (should not be the case) While this might be supported in the future for overriden collections, these cases should not be allowed atm. since objects get lost on file reload. Note: for the case of the `Object Properties` > `Collections` panel, this could be improved further to filter out overridden collections as well. Reviewers: mont29, brecht Subscribers:
2020-05-13Merge branch 'blender-v2.83-release'Philipp Oeser
2020-05-13Fix T76711: override data-blocks could be renamed in the outlinerPhilipp Oeser
Overriding datablock should never have an editable name. This also moves the check for linked/overridden datablocks above the check for master-collection (otherwise a linked/overriden collection could still be renamed) Maniphest Tasks: T76711 Differential Revision: https://developer.blender.org/D7718
2020-05-13Simulation: Add modifier to access simulation dataJacques Lucke
For now the "Simulation" modifier only exists for point cloud objects, because we need this for the particle system. Right now, the modifier is doing nothing. There is a new `DEG_add_simulation_relation` function that is used by the modifier to make sure that the simulation is evaluated before the modifier is executed. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D7549
2020-05-08Cleanup: callback naming for search button & update doc-stringsCampbell Barton
Callback naming didn't always make it clear which function updated the search contents and the function used to execute the action.
2020-05-07Cleanup: split search menu separator argument into own functionCampbell Barton
2020-05-01Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-01Outliner: Fix selection extend not togglingNathan Craddock
An unintentional side-effect of rBfe7528ee919b was that when extend-selecting a selected element in the outliner, it would be deselected and activated rather than selected and activated. This commit restores the expected toggling behavior. Consistent behavior for extend-selecting child datablocks is not resolvable without a much larger cleanup of the outliner select functions.
2020-05-01Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.cSybren A. Stüvel
All the driver-specific code in `fcurve.c` has been moved into a new file `fcurve_driver.c`. The corresponding declarations have been moved from `BKE_fcurve.h` to `BKE_fcurve_driver.h`. All the `#include "BKE_fcurve.h"` statements have been investigated and replaced with `BKE_fcurve_driver.h` where necessary. No functional changes.
2020-05-01Cleanup: use sections for outliner sourcesCampbell Barton
2020-04-30Outliner: Add new delete operatorNathan Craddock
In the industry standard keymap, both deleting objects and collections were mapped to the same keys causing confusion when only collections could be deleted through the keymap. This adds a new delete operator to delete all selected objects and collections, accessible from both the keymap and context menu. Now any selected objects and collections are deleted when Delete is chosen from the keymap. This also updates the tooltip description which was previously undocumented. Resolves T67462
2020-04-25Merge branch 'blender-v2.83-release'Nathan Craddock
2020-04-25Cleanup: Select sync from outlinerNathan Craddock
Move the condition to check if selection syncing is enabled to inside the syncing function rather than before each time it is called.
2020-04-25Fix: Selection syncing for outliner operatorsNathan Craddock
A few outliner operators that modify selection were not tagging for a selection sync which led to selection inconsistencies. This adds syncing for the following operators: * Duplicating and deleting collections * Selecting/deselecting collection contents * Drag and drop * Object select, deselect, delete, and delete hierarchy
2020-04-20Simulations: Add new simulation data blockJacques Lucke
This data block will be the container for simulation node trees. It will be used for the new particle node system (T73324). The new data block has the type `ID_SIM`. It is not visible to users and other developers by default yet. To enable it, activate the cmake option `WITH_NEW_SIMULATION_TYPE`. New simulation data blocks can be created by running `bpy.data.simulations.new("name")`. Reviewers: brecht Differential Revision: https://developer.blender.org/D7225
2020-04-20Fix missing Outliner selection syncing on "Select Hierarchy"Julian Eisel
Adds syncing to a few operations that change selection, to avoid some annoyances (like drag and drop of hierarchy to a different collection only linking the parent to the collection). Note that there's further refinement work for selection syncing in D5572, but is awaiting some code design decisions. Meanwhile such quite annoying issues should be fixed. Addresses T75610.
2020-04-15Fix menu search omitting the outliner context menuCampbell Barton
Use a regular context menu as a fallback for the outliner. If there are no specific actions for the item under the cursor, fall through to opening a regular menu. This lets menu search find the context menu items which were previously unavailable as menu search wont run operators.
2020-04-14UI: improve menu search with dimmed menu prefixCampbell Barton
- Show dimmed text for the menu entries leading up to the menu item. - Show icons between the menu text and menu item. - Use unicode right pointing triangle instead of arrow.
2020-04-10Fix T75489: Crash on deleting current workspace from the outlinerJulian Eisel
It should not be possible to delete the current workspace from the outliner. Show an error message instead.
2020-04-10Fix T75378: Crash on clicking in the ghost icon of an appended proxy objectGermano Cavalcante
2020-04-09Collections: preserve exclude flag of child collections when unexcludingSzymon Ulatowski
Excluding a collection also changes the exclude setting on all child collections so that it is possible to selectively enable some children without the parent being enabled. This change makes it so that if you unexclude the parent, the exclude setting of children are restored again instead of being permanently lost. Original patch by Szymon with modifications by Brecht. Differential Revision: https://developer.blender.org/D7016
2020-04-07Fix T75471: Outliner: crash selecting modifier objects/targets that are in a ↵Philipp Oeser
excluded collection There is no garuantee 'outliner_find_id()' can find those corresponding TreeElements, safeguard against failure now. note: not sure why this was no problem in Release builds? (could only reproduce crashes in Debug builds...) Maniphest Tasks: T75471 Differential Revision: https://developer.blender.org/D7365
2020-04-05Cleanup: macro hygiene, parenthesize argumentsCampbell Barton
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Including "BLI_listbase.h" for LISTBASE_FOREACH macroDalai Felinto
These headers are not needed right away, but will be in the upcoming commit.
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-03-25Cleanup: use 'r_' prefix for output argumentsCampbell Barton
Also pass some args as 'const'.
2020-03-25Cleanup: update doxy sectionsCampbell Barton
2020-03-24UI: add menu search functionality to operator search menuCampbell Barton
This has some advantages over operator search: - Some operators need options set to be usefully accessed. - Shows key bindings to access menus (for actions that don't have key bindings themselves). - Non operator actions such as check-boxes are also shown. - Menu items can control execution context, using invoke or execute where appropriate so we can control how the operator runs. Part of the design task T74157. This can be tested using the 'Experimental' preferences section or selected in the key-map editor.