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
2022-08-19Cleanup: spelling in commentsCampbell Barton
2022-08-19Fix logical errors in RNA_path_array_index_token_findCampbell Barton
This function never succeeded as an off by one error checking the last character always indexed the null byte. The 'for' loop was broken as of [0] since the unsigned number could wrap around with some RNA paths causing out of bounds memory access. This is an example where tests would have caught the problem early on, RNA path tests are planned as part of D15558. [0]: 11b4d0a3c3787a90e6f1631f7735d0968afbb20a
2022-08-18Fix T100475: Crash on undoing the created override from ID template.Bastien Montagne
We only need to 'manually' remap RNA ID pointer property to the newly created override if the owner itself was not already a local override. Also some more minor tweaks to notifiers sent when creating the override.
2022-08-18LibOverride: Preserve active object when creating overrides.Bastien Montagne
2022-08-18LibOverride: Fix more crashes when creating overrides from IDTemplates.Bastien Montagne
Assigning to RNA ID pointer properties will not _always_ trigger a rebuild of the outliner tree, so try to enforce this when actually creating overrides.
2022-08-18Fix T100423: Addon's custom context menu entries get overridden by other addonsLuca Rood
This introduces a new `UI_MT_button_context_menu` class which is registered at startup. Addons can append/prepend draw functions to this class, in order to add their custom context menu entries. The new class replaces the old `WM_MT_button_context` class, thus requiring a small change in addons using this feature. This is done because addons were previously required to register the class themselves, which caused addons to override each other's context menu entries. Now the class registration is handled by Blender, and addons need only append their draw functions. The new class name ensures that addons using the old method don't override menu entries made using the new class. Menu entries added with the legacy `WM_MT_button_context` class are still drawn for backwards compatibility, but this class must not be used going forward, as any addon using it still runs the risk of having its menu entries overridden, and support for the legacy class is subject to removal in a future version. Reviewed By: campbellbarton Maniphest Tasks: T100423 Differential Revision: https://developer.blender.org/D15702
2022-08-18Fix T100476: Shift click to create overrides on objects not working.Bastien Montagne
Case where object was directly linked and not owned by a linked collection was not properly handled, added some level of support for it now. Note that the behavior may not always be ideal in cases where the linked object would be linked in many different local collecitons, hard to get best solution always from this Editor given limited hierarchy data available here.
2022-08-18Fix (unreported) outliner not redrawing on 'removed ID' notification.Bastien Montagne
Could lead to crahses in some cases, with outliner drawing code accessing freed ID data in its tree.
2022-08-17LibOverride: Remove the 'make all editable' user preferences.Bastien Montagne
This behavior is now implicitely controlled by the 'Make' operations, based either on context or selected items.
2022-08-17Fix: Node editor context path for curves objectsHans Goudey
The object data path item wasn't added properly. Also remove some of the unnecessary variables and forward declarations.
2022-08-17Use report warning opening file written by newer Blender binaryPhilipp Oeser
handle_subversion_warning() was reporting with RPT_ERROR type, replaced with RPT_WARNING. RPT_ERROR would stop python scripts opening files written by newer Blender binary with bpy.ops.wm.open_mainfile(), preventing further code from running. This does not seem right since Blender itself still loads the files. Ran into this checking T100446 in 2.93. Differential Revision: https://developer.blender.org/D15712
2022-08-17LibOverride: Add Make/Reset/Clear entries to IDTemplate contextual menu.Bastien Montagne
Matches main operations exposed in View3D and the Outliner.
2022-08-17Fix T100411: Invert Axis Pan option ignored for Lock Camera Pan/ZoomCampbell Barton
2022-08-17Cleanup: spelling in commentsCampbell Barton
2022-08-17Fix freed memory access checking events with debug buildsCampbell Barton
Pressing escape when rendering a viewport animation would access the freed even and crash (with ASAN enabled). Always check the context's window before the event as this is a signal a file was loaded or the window was closed (and it's events freed).
2022-08-17Fix T100079: Encoding with DNxHD fails due to bad parametersRichard Antalik
Constant_rate_factor mode was not updated when choosing DNxHD codec in RNA update function. Ensure `FFM_CRF_NONE` is set.
2022-08-16Cleanup: Unused parameters.Bastien Montagne
2022-08-16Fix (unreported) bug in liboverride 'leaves' detection.Bastien Montagne
Loopback ID pointers should be ignored here as well, otherwise they are very efficient at preventing proper detection of 'leaf' override IDs in a hierarchy.
2022-08-16Fix T98773: GPU subdivision issues with UV editor displayBrecht Van Lommel
This fixes missing selection updates in UV editor, both with GPU subdivision and with the Modified Edges display option for modifiers in general. It also fixes the UV editor incorrectly showing the cage mesh with deformed coordinates. These are not yet supported by the UV selection system. Changes: * Always read selection state from the editmesh when building batches. The flags in the evaluated mesh can be outdated as selection bypasses depsgraph evaluation for performance, and instead may just clear the batches. * runtime.is_original is only valid for the bmesh wrapper. The check for building the UV cage should only use that if the mesh is a bmesh wrapper. * Don't create cage batches for objects whose mesh is in edit mode, but that are not themselves in edit mode, there is no need. Differential Revision: https://developer.blender.org/D15658
2022-08-16Cleanup: compiler warningBrecht Van Lommel
2022-08-16LibOverride: Refactor of menu entries in the View3D.Bastien Montagne
Move override creation into their own menu, add entries for reset and clear operations.
2022-08-16Fix T100412: LibOverride: shift click on the modifier link button do not ↵Bastien Montagne
create override Add support for the (geometry)node tree case. Also add warning about not being implemented for other types.
2022-08-16LibOverride: Tweaks to new menus in Outliner.Bastien Montagne
Also add new outliner liboverride operators mapping to the manual, though this is useless currently as this feature is not working in many part of the UI, including the Outliner contextual menu.
2022-08-16Fix T100375: Renaming items from the outliner does not update the despgraph.Bastien Montagne
Only object renaming was properly depsgraph-tagged, now all IDs (and their sub-data like bones etc.) should be properly handled.
2022-08-16Fix T100421: OBJ importer in 3.3 does not keep the vertex orderAras Pranckevicius
While fixing T100302 (rBd76583cb4a1) I did not realize that the change in imported vertex order would actually matter. Turns out, it does for morph targets / mesh shape keys. So redo the fix in a way that does not change the vertex order. Fixes T100421.
2022-08-16Fix T100435: Use evaluated material for line art loading.YimingWu
Materials can be changed by other evaluations like geometry nodes, now handles that kind of situation.
2022-08-16Sculpt: Fix T100379: Anchored brush tags all nodes for updateJoseph Eagar
Node tagging needed to happen after the undo node's null check.
2022-08-15Fix T99255: Strips inserting incorrectlySebastian Parborg
When dropping file to sequencer timeline, coordinates for strip position and overlap handling are used even if not set. Reset internal state in on_drag_start callback and set is_modal variable only if coordinates are updated. This way when dragging file from external file browser, strip is added at current frame as before modal operator was implemented. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D15333
2022-08-15Fix T99955: Crash with 'Cache Result' and all render layers are disabledSergey Sharybin
Ensure render passes are allocated in the result prior to writing them. Alternative could be to not write empty passes, but that is kind of different from perspective of s one who reads the file. Differential Revision: https://developer.blender.org/D15692
2022-08-15Cleanup: make formatBrecht Van Lommel
2022-08-15Fix status bar keymap items during modal operationsDamien Picard
The status bar keymap items still don't get translated because the TIP_ translation introduced by rBe1974ae30e46 uses the wrong context: it uses the default context, while the extraction introduced in rB630b961f234e uses ID_WINDOWMANAGER. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15684
2022-08-15I18n: translate recent files and bookmarks in the file browserDamien Picard
This is not dynamic: it only happens when the dir is added to the list--automatically for recent files, and by the user for bookmarks. Entries can then be manually renamed like other dirs. They will keep the same name if the language is changed afterwards. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15629
2022-08-12Fix out of bounds read in LineArt if there are only interestion edgesSebastian Parborg
In this case the array allocation would allocate an array of size zero. This would then later lead to out of bounds memory reads. Now the code will skip zero length allocations.
2022-08-12Fix T100370: Depth choice for "Add Cube" tool always using SurfaceGermano Cavalcante
As the surface normal is calculated along with the coordinates, the surface depth was always being used when surface orientation was set. Therefore, even calculated, ignore the surface depth when it is not required. Also promote an optimization when neither orientation nor depth is required.
2022-08-12Fix T100203: Freeze using `override_hierarchy_create` with Object level ↵Bastien Montagne
property with custom getter function. As suggested by @brecht, use the `BPy_BEGIN`/`END_ALLOW_THREADS` macros. Note that there may be other bits of code needing this too.
2022-08-12Cleanup: unused debug variable.Bastien Montagne
2022-08-12Cleanup: leftover debug prints.Bastien Montagne
2022-08-12LibOverride: Rework Outliner contextual menu.Bastien Montagne
Follow-up to design discussions here at the studio, add liboverride operations into their own sub-menu, with three main entries: - Create: Create, or enable for user editing, override hierarchies. - Reset: Keep overrides data, but reset all local changes to the reference linked data values. - Clear: like reset, but also turn editable overrides back to system overrides (aka non user editable). Those three options can all operate either on the selected items, their content only, or both. Advanced operations are moved into a "Troubleshoot Hierarchy" sub-menu, where one can resync, resync enforced, and fully delete library overrides. Those operations always affect a whole override hierarchy, regardless of which items are selected or not.
2022-08-12Fix T100191: Crash with the wave modifier using normals in edit-modeCampbell Barton
2022-08-12Fix T100350: missing brush falloff preview in sculpt modeBrecht Van Lommel
2022-08-12Cleanup: Typos in comments.Bastien Montagne
2022-08-12Fix (unreported) infinite tie building Outliner liboverride hierarchy tree.Bastien Montagne
In complex scenes featuring thousands of connections between IDs in their liboverride hierarchies (e.g. Heist files), the time required to check if tree items were available (before allocated a new one) would become insanely long (O(n^2)). This commit brings it back to roughly a constant time, only re-checking the whole array for unused items once in a while (once every 10k times currently), since in almost all cases is the index after `lastused` value is not unused, and you have reached the end of the currently used array of items, you actually need to 'allocate' a new one anyway. It also improves the handling of `lastused` index, in particular in `tse_group_add_element`. This makes switching to the Outliner override hierarchy view in Heist scenes from virtually infinite time (more than 30mins for sure) to about 20 seconds on my machine. Still far from being effectively usable. Note that this is only a bandaid fix anyway, root of the issue is that this view has to deal with way too many items in its tree, current code is not designed for that. Either outliner has to improve its tree handling (by only building subsets of the whole tree maybe?), or we have to cull/filter out some of the ID relationships between overridden IDs to make this view actually usable. Maybe limit the depth of the tree?
2022-08-12Fix (unreported) crashes in Outliner override hierarchy view.Bastien Montagne
Fix wrong assumption that 'embedded' IDs are only ever used by their owners. This is especially not true with shape keys. Also small optimization by adding an eraly abort when both IDs are the same (i.e. an ID has a pointer to itself).
2022-08-12IDType `get_owner`: add an optional hint about owner ID.Bastien Montagne
In some cases, there is a chance code already knows who might be the owner of the given ID, in which case it can be more efficient to check it first (especially in cases like embedded node trees or scene collections, where the only other way is to loop over all possible owners currently). Will be used in next commit in some Outliner fix.
2022-08-12Fix T100138: Use `double` for LineArt intersection record.YimingWu
The use of `float` for intermediate intersection record led to some inaccuracy which caused flickering in intersection lines. Now fixed.
2022-08-11Fix T100130: animation player crash on exitBrecht Van Lommel
GPU_exit is now expected to run within an active GPU context. Also run BLF_exit and IMB_exit first they can use GPU resources and gave ASAN errors. And remove redundant GPU_shader_free_builtin_shaders already handled by GPU_exit.
2022-08-11Fix T98781: OBJ exporter wrongly writing default material socket values when ↵Aras Pranckevicius
textures are present Report T98781 and part of T97642: the MTLMaterial info only captures image nodes and the default socket values. When the image information is present, do not emit the socket defaults - the .MTL spec states they are multiplied together, but the default value is not used in blender when the socket is connected. Also contains svn tests repository update to extend the test coverage, and update test expectation outputs.
2022-08-11Fix T100204: RMB select (with "Select Tool") causes edit-mesh conflictCampbell Barton
When RMB select activated the selection tool, Alt-RMB would both tweak and loop-select. Fix/workaround this by passing though 'enumerate' unless the option can be used (when selecting objects or armatures).
2022-08-10obj: Also find .mtl images by their basename, if all else fails (T77801)Aras Pranckevicius
While T77801 itself is working as expected in the new C++ obj importer, the repro file there uses absolute paths to material images, yet the images themselves are right there in the current folder. The old python based importer did find them, since it was doing a really complex image search. My understanding is that while C++ importer was developed, it was decided to not do that -- however just the "basename file in the mtl directory" sounds simple enough and gets the repro case file work correctly.
2022-08-10Render: remove camera shift hard limitsBrecht Van Lommel
There is no need for these to be limited to -10..10, soft limits are enough. Contributed by fundorin. Differential Revision: https://developer.blender.org/D15650