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
2021-12-20Docs: minor correction to doc-stringCampbell Barton
The text editor no longer accumulates changes.
2021-12-20Fix T94254: Crash using view_all operator in VSERichard Antalik
Caused by `NULL` dereference in `SEQ_meta_stack_active_get()`. Check if `Editing` is `NULL` before accessing meta stack.
2021-12-20Fix: Meta strip not created with alpha over blend modeRichard Antalik
Meta add function wasn't updated. All strips now use alpha over blending, so set it in `SEQ_sequence_alloc()`.
2021-12-20Cleanup: Remove more texture nodes preview handlingHans Goudey
Similar to the previous commit, this allowed removing a function to set a single pixel of a node preview.
2021-12-20VSE: Clamp sound strip when adding movie stripRichard Antalik
When adding multiple movie strips and sound stream is longer than video, this results in gaps between video strips, which is undesirable.
2021-12-20Cleanup: Remove more no-op node preview codeHans Goudey
This is a follow-up to rB43875e8dd1d76ee, removing some processing of non-existent node previews in the shader and texture nodes systems.
2021-12-20Cleanup: Const arguments, remove unused argumentHans Goudey
2021-12-19Cleanup: Clang tidy lamda function nameHans Goudey
2021-12-18Cleanup: Move weld modifier to C++Hans Goudey
This moves `MOD_weld.cc` to C++, fixing compiler warnings coming from the change. It also goes a little bit further and converts the code to use C++ data structures: `Span`, `Array`, and `Vector`. This makes the code more shorter and easier to reason about, and makes memory maneagement more automatic. Differential Revision: https://developer.blender.org/D13618
2021-12-18Fix: Build error from missing includeHans Goudey
2021-12-18Fix: Link drag search missing field nodes from function nodesHans Goudey
When dragging from the inputs of function nodes, other function nodes wouldn't connect, because their socket declaration field types weren't set correctly. Instead, they relied on code properly checking the *node* declaration's `is_function_node()` method. However, that increases complexity and requires passing the node instead of just the socket in more places. Instead, set the proper field types in the socket declaration during building. Differential Revision: https://developer.blender.org/D13600
2021-12-18Fix T94173: Missing update for frame node sizeHans Goudey
Before d56bbfea7b420d7, nodes were updated (size calculated and buttons added) in reverse order. Instead, now calculate the size of frame nodes after all other nodes. Separating the drawing further may be a good step to removing the O(n^2) loop later on.
2021-12-18Cleanup: compiler warnings with clangBrecht Van Lommel
Includes use of memcpy to avoid warnings about deprecated members.
2021-12-18Fix T94215: compositer denoise node UI wrongly shows as disabledBrecht Van Lommel
After recent refactoring in 4e98d974b596.
2021-12-18GPU: add memory barriers for vertex and index buffersKévin Dietrich
This adds memory barriers to use with `GPU_memory_barrier` to ensure that writes to a vertex or index buffer issued before the barrier are completed after it, so they can be safely read later by another shader. `GPU_BARRIER_VERTEX_ATTRIB_ARRAY` should be used for vertex buffers (`GPUVertBuf`), and `GPU_BARRIER_ELEMENT_ARRAY` should be used for index buffers (`GPUIndexBuf`). Reviewed By: fclem Differential Revision: https://developer.blender.org/D13595
2021-12-18Function to return a list of keyframe segmentsChristoph Lendenfeld
Add a function that returns a list of keyframe segments A segment being a continuous selection of keyframes Will be used by future operators in the graph editor Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D13531 Ref: D13531
2021-12-18Fix T94184: Outliner: Collection dragging tooltip is not updatingGermano Cavalcante
In the context of the dragdrop tooltip, the event referenced to the window is out of date and contains invalid `mval` values. Avoid using `win->eventstate` as much as possible.
2021-12-17Fix T94116: Drivers can have multiple variables with same nameSybren A. Stüvel
The RNA setter now ensures that driver variables are uniquely named (within the scope of the driver). Versioning code has been added to ensure this uniqueness. The last variable with the non-unique name retains the original name; this ensures that the driver will still evaluate to the same value as before this fix. This also introduces a new blenlib function `BLI_listbase_from_link()`, which can be used to find the entire list from any item within the list. Manifest Task: T94116 Reviewed By: mont29, JacquesLucke Maniphest Tasks: T94116 Differential Revision: https://developer.blender.org/D13594
2021-12-17Theme: Node Group color only needs RGB, not RGBADalai Felinto
The node group alpha theme was used for the overlay drawing in the node editor. Since this was removed (919e513fa8f) the alpha channel doesn't need to be exposed anymore. Reported as part of T93654.
2021-12-17Cleanup: Use signed integers in the weld modifierHans Goudey
The style guide mentions that unsigned integers shouldn't be used to show that a value won't be negative. Many places don't follow this properly yet. The modifier used to cast an array of `uint` to `int` in order to pass it to `BLI_kdtree_3d_calc_duplicates_fast`. That is no longer necessary. Differential Revision: https://developer.blender.org/D13613
2021-12-17Cleanup: quiet warning due to incompatible pointer typesJacques Lucke
2021-12-17Cleanup: use new c++ guarded allocator api in some filesJacques Lucke
2021-12-17Allocator: simplify using guarded allocator in C++ codeJacques Lucke
Using the `MEM_*` API from C++ code was a bit annoying: * When converting C to C++ code, one often has to add a type cast on returned `void *`. That leads to having the same type name three times in the same line. This patch reduces the amount to two and removes the `sizeof(...)` from the line. * The existing alternative of using `OBJECT_GUARDED_NEW` looks a out of place compared to other allocation methods. Sometimes `MEM_CXX_CLASS_ALLOC_FUNCS` can be used when structs are defined in C++ code. It doesn't look great but it's definitely better. The downside is that it makes the name of the allocation less useful. That's because the same name is used for all allocations of a type, independend of where it is allocated. This patch introduces three new functions: `MEM_new`, `MEM_cnew` and `MEM_delete`. These cover the majority of use cases (array allocation is not covered). The `OBJECT_GUARDED_*` macros are removed because they are not needed anymore. Differential Revision: https://developer.blender.org/D13502
2021-12-17UI: make Remap User dialog in outliner widerPhil Stopford
The previous size was too small for common object names. Differential Revision: https://developer.blender.org/D13604
2021-12-17UI: Fix node socket alignment in some casesAlessio Monti di Sopra
The patch fixes some misalignments in the nodes' sockets/options recently introduced in 26d2caee3ba0, while maintaining the original fix for T92268. The original fix made the top padding always of the same size; while that works when the first row of the other node is `Socket | Socket`, it doesn't for other more common cases, `like Socket | Node Option`, where the text results misaligned. Differential Revision: https://developer.blender.org/D13451
2021-12-17Fix T94137: GPencil: Eraser does not erase first pointPhilipp Oeser
The eraser checks the current, previous and next point (and sets pc0, pc1 & pc2 corresponding to that for futher occlusion/brush/clipping checks). For the very first point, it sets pc0 to pc1 [which makes sense, there is no previous point, so we should assume the previous segment is "visible" as soon as the first point is], but does so *before* pc1 is even calculated. This makes following occlusion/brush/clipping checks work with zero values [which leads to no earsing in most cases]. Now *first* calculate pc1, *then* set pc0 to pc1. Maniphest Tasks: T94137 Differential Revision: https://developer.blender.org/D13593
2021-12-17Outliner ID Remap Users: hide ID type from the UIPhilipp Oeser
The correct type should be set by invoke already, changing it to a non- matching type (e.g. trying to remap Mesh users with a Camera block) does not really make sense afaict, reason being that we would be presented with the "Invalid old/new ID pair" message in such case anyways (code checks GS(old_id->name) == GS(new_id->name)). This alone wouldnt be a pressing issue, but since doing this with an object ID type crashes atm., it seems to make sense to clean this up now (of course the crash should be looked into, but this is for a separate patch -- if that is solved, we could also think about adding the "Remap Users" entry back in the context menu for objects as well [which was removed in rB17bd5c9d4b1e for some reason]). Part of T93799. Differential Revision: https://developer.blender.org/D13512
2021-12-17Fix (unreported): missed running versioning code in some filesJacques Lucke
The versioning code was accidentally put not at the very bottom. That lead to a situation where it wasn't run on some files that happened to be within a specific short time frame. Since the versioning code is idempotent, it can just run again on existing files. Therefore, this commit just moves it back to the bottom so that it is executed on all files again. Broken Commit: rB5b61737a8f41688699fd1d711a25b7cea86d1530.
2021-12-17Fix T94166: set handle position node crashed after refactorJacques Lucke
This was an oversight in rB8e2c9f2dd3118bfdb69ccf0ab2b9f968a854aae4.
2021-12-17GPU: Sort SSBOs In Shader Interface.Jeroen Bakker
SSBOs weren't sorted, but other types were. This was an oversight when SSBOs were introduced (GPU compute pipeline). Issue identified by @fclem.
2021-12-17Cleanup: Silenced unused var warnings.Jeroen Bakker
2021-12-17UI: move "undo history" from a custom popup to a menu typeCampbell Barton
This lets the undo history expand as a regular sub-menu instead of being a popup. Also disable the active undo step menu item as this is a no-op.
2021-12-17Cleanup: spelling in commentsCampbell Barton
2021-12-17Cleanup: use more common naming suffix for item callbacksCampbell Barton
2021-12-17UI: Correct "QuickTime" SpellingJohannes Jakob
Change the spelling of the QuickTime output video container item from "Quicktime" to "QuickTime" Differential Revision: https://developer.blender.org/D10929 Reviewed by Harley Acheson
2021-12-17Cleanup: Simplify logic in set material nodeHans Goudey
2021-12-17Geometry Nodes: Support point clouds in the set material nodeHans Goudey
Now that point clouds can be rendered with cycles, it makes sense to allow assigning a material to them. Note that like volumes, they only support a single material though.
2021-12-16Cleanup: Move curve.c to C++Hans Goudey
I need this for a refactor I'm looking into for bounding boxes. It may be helpful in the future when using `CurveEval` in more places. Differential Revision: https://developer.blender.org/D13596
2021-12-16LibOverride: Further improve creation/resync pre-process speed.Bastien Montagne
Fully get rid of `BKE_collection_object_find` in `lib_override_group_tag_data_object_to_collection_init`, even if only used a few times this function was still noticeable in profiling data. Now instead loop over collections' objects to build required object-to-collections mapping. Adds an extra 5-10% speed-up compared to previous commit rB0624fad0f3ff. Related to T94059.
2021-12-16Fix T94109: 3d cursor crash when using shortcutGermano Cavalcante
Operator was erroneously starting edge_slide operation. Revert part of the changes in rB3fab16fe8eb4 as obedit_type was being confused with object_mode.
2021-12-16LibOverride: Improve speed of resync and creation of liboverrides.Bastien Montagne
`BKE_collection_object_find` has extremely bad performances (very high time complexity). While ideally this should be fixed in that API, for now cache its results once at the beginning of the resync/creation process. This makes loading of complex production files with a lot of liboverrides to resync three to four times faster. Thanks to @brecht for the profiling in T94059.
2021-12-16LibOverride: Cleanup log about unfound subitems.Bastien Montagne
Not finding subitem when its name and index are invalid/unset is expected behavior, and does happen when e.g. inserting a new constraint or modifier at the begining of the stack.
2021-12-16Fix T94115: Selecting current action in undo history undoes allCampbell Barton
When selecting the current undo step there is no need to do anything. Fix and minor refactor to de-duplicate refreshing after running undo/redo & undo history.
2021-12-16UI: support Copy To Selected for id-properties [GN modifier properties]Philipp Oeser
Both {key Alt} editing behavior as well as `Copy To Selected` were not working on geometry nodes modifiers (even if these matched exactly - having the same nodegroup - on multiple objects) Reason is that code checks pointer equality on the discovered properties [geometry nodes modifier properties are stored as ID properties], but these are not the same across objects (since these are fetched from NodesModifierSettings - which are different on different objects). note: if general custom properties are "API defined" on existing classes, this was working, we are getting the exact property for different IDs in this case Now be more permissive with ID properties not defined on classes in general and dont check pointer equality for them. For ID properties on specific IDs (not the ones defined on classes) this //might// be undesired (havent spotted issues though, even if equally named ID properies with different types existed -- this then simply does nothing). For geometry nodes modifiers, new code also checks if the nodegroups are the same [since generic naming "Input_XXX" is shared for all modifiers -- and starting to copy over things to unrelated modifiers is not desired here]. Fixes T93983. Maniphest Tasks: T93983 Differential Revision: https://developer.blender.org/D13573
2021-12-16UI: deduplicate code for Copy To Selected and Alt-button tweakingPhilipp Oeser
This resolves an old TODO to deduplicate code in copy_to_selected_button & ui_selectcontext_begin. This is also in hindsight of adding id-property support [incl. Geometry Nodes modifier properties] for this in the next commit. No behavior change expected here. ref T93983 & D13573
2021-12-16Cleanup: correct docstring for `driver_variable_name_validate`Sybren A. Stüvel
No functional changes.
2021-12-16Docs: add doc-strings for BLI_path functionsCampbell Barton
2021-12-16Animation: send notifier when keyframe is insertedSybren A. Stüvel
`<some_id>.keyframe_insert()` now sends a notifier that animation data was changed, so that animation-related editors can properly refresh. Since this function is quite high-level (if necessary it creates the Action and FCurves), I thought this would be a suitable location for the notifier. If high keyframing speed is required, it is still recommended to use `FCurveKeyframePoints.insert(options={'FAST'})` instead.
2021-12-16Fix compile error on Windows.Thomas Dinges
2021-12-16WM: various changes to file writing behaviorCampbell Barton
Saving with only a filename (from Python) wasn't being prevented, while it would successfully write the file to the working-directory, path remapping and setting relative paths wouldn't work afterwards as `Main.filepath` would have no directory component. Disallow this since it's a corner case which only ever occurs when path names without any directories are used from Python, the overhead of expanding the working-directory for all data saving operations isn't worthwhile. The following changes have been made: - bpy.ops.wm.save_mainfile() without a filepath argument fails & reports and error when the file hasn't been saved. Previously it would write to "untitled.blend" and set the `G.main->filepath` to this as well. - bpy.ops.wm.save_mainfile(filepath="untitled.blend") fails & reports and error as the filename has no directory component. - `BLI_path_is_abs_from_cwd` was added to check if the path would attempt to expand to the CWD.