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-24Cleanup: rename new IDTemplate operator to create overrides to `make`.Bastien Montagne
Matches other operators' names and UI labels better.
2022-08-24Fix Quaternion.rotate(matrix) with negative matricesCampbell Barton
Rotating a quaternion by a negative matrix gave an invalid result. Follow up fix for T94231 which negated negative matrices too.
2022-08-24Fix T100606: Apply object transform fails with delta quaternion rotationCampbell Barton
Apply transform failed to clear delta quaternion & axis-angle rotation.
2022-08-24Fix T100590: Crash when changing active image texture nodePhilipp Oeser
Mistake in own rBc76d7f7bde35. Happened when no image was set in the Image Editor already (which is now checked for). Maniphest Tasks: T100590 Differential Revision: https://developer.blender.org/D15761
2022-08-24Fix T94231: Matrix.to_quaternion() returns invalid rotationCampbell Barton
The result of mat3_normalized_to_quat isn't valid for negative matrices. Isolate the fix to the Matrix.to_quaternion() instead of changing mat3_normalized_to_quat to prevent unintended side effects elsewhere.
2022-08-24Fix error from 21ea4995585931ad54f51c1878c06c526c3355a5Campbell Barton
Was not using the absolute index for comparison, breaking the id_management test.
2022-08-23Fix T98954: Color management is very slow with sequencer soundRichard Antalik
Function `rna_ColorManagement_update` tagged unnecesary updates. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D15710
2022-08-23Fix T100286: Crash accessing freed depsgraph object instancesCampbell Barton
Invalidate depsgraph.object_instances when freed, this resolves a crash when accessing the object instances after iteration has finished. Unlike most other collections, object_instances is only valid while the iterator is in-memory. The Python/RNA API needs to inline int/string collection lookups so the Python instance can be created before the iterator ends. Reviewed By: mont29, sergey Ref D15755
2022-08-23Cleanup: formatCampbell Barton
2022-08-23Fix: OBJ import unused parameter warningPhilipp Oeser
Since {rB2542fda14d85}, `r_node` is an unused parameter. Changed `load_texture_image` to reflect that. Differential Revision: https://developer.blender.org/D15759
2022-08-23Compositor: handle NODE_DO_OUTPUT in RNA when setting a node activePhilipp Oeser
Main motivation is from T54314 where there was no way to read from a Viewer image datablock after setting another viewer node active. Part of the problem was addressed in rB16d329da284c (where handlers for the compositing background job were added so that you can act after the compositor has run), however there was still the remaining issue that setting another viewer node active would not properly tag the node NODE_DO_OUTPUT. This forced users into a complicated workaround (using switch nodes feeding into a single viewer node). Now handle NODE_DO_OUTPUT properly in RNA, too, and do proper updates so that behavior from RNA matches that of the Node Editor when setting a viewer node active. ref T54314. Reviewed By: JacquesLucke Maniphest Tasks: T54314 Differential Revision: https://developer.blender.org/D15203
2022-08-23Fix T100318: handle custom nodes in field inferencing more gracefullyJacques Lucke
Custom nodes are not supported, but it shouldn't crash here.
2022-08-23Fix T99932: video in node group does not playJacques Lucke
2022-08-23Fix T100578: Surface Deform modifier displays wrong in editmodePhilipp Oeser
This was the case when the "Show in Editmode" option was used and a vertexgroup affected the areas. Probably an oversight in {rBdeaff945d0b9}?, seems like deforming modifiers always need to call `BKE_mesh_wrapper_ensure_mdata` in `deformVertsEM` when a vertex group is used. Maniphest Tasks: T100578 Differential Revision: https://developer.blender.org/D15756
2022-08-23Fix T99493: better syncing between Node Editor and Image EditorPhilipp Oeser
Since {rBb0cb0a785475}, changing the active texture in the Node Editor would also change the current image in the Image Editor. While this was an overall improvement, this was not desired when the image currently looked at was a `Render Result` or a `Viewer Node` (artists usually want to keep focus on these). With this patch, syncing the active texture change from the Node Editor to the Image Editor will now only happen if the Image Editor's current image is not a Render Result or a Viewer Node. NOTE: Syncing the active paint slot to the Image Editor still happens (even if the Image Editor's current image is not a Render Result or a Viewer Node), behavior was not changed since this is a much more explicit action while texture painting and probably desired in that case. Maniphest Tasks: T99493 Differential Revision: https://developer.blender.org/D15749
2022-08-23Fix T100562: Realize Instances node crashes when there is an attribute name ↵Jacques Lucke
collision
2022-08-23Fix T100579: internal links are drawn when sockets are hiddenJacques Lucke
2022-08-22Fix T100568: triangulate node resets vertices to rest positionJacques Lucke
The triangulate node is not supposed to take shape keys into account. This was likely a mistake in rBabf30007abdac2a5bf3a1.
2022-08-22Fix T100258: wrong spline length used in Spline Parameter nodeIliya Katueshenock
Differential Revision: https://developer.blender.org/D15705
2022-08-22I18n: systematically tag all messages in `RNA_ENUM_ITEM_HEADING`.Bastien Montagne
Add missing labels, and also add tooltips. Unfortunately there is no way currently to extract two messages from a single 'function' call, so unless those type of macros become very widely used, would keep it as manual tagging. Also disambiguate `case` in text context, pretty sure English is one of the very rare languages to use this word for character case too.
2022-08-22I18n: disambiguate a few translationsDamien Picard
- Keying (keyframe insertion) - Roughness (particle children) - New image, collection, text (in menus) - Parents (particles) - Wrap (text) - Light (add menu) - Empty (volume add menu) - Empty (empty add menu) - Cycles (f-curve modifier) - Drag (workspace tool type) - Power (light intensity) - Power (math nodes) This last change also moves all math operations in nodes to the ID_nodetree context. It's needed only for some operations, but we can't be more granular here. Also... - Fix context extraction for interpolation mode headers in F-Curves and GPencil interpolation operator - Enable new translation: "Slot %d" in image editor - Fix an English message in the node editor: "Replace the input image's alpha channels by..." -> channel Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15694
2022-08-22Fix T100527: Right click in the attribute name field crashes blender.Bastien Montagne
`UI_context_active_but_prop_get_templateID` became much more widely used with recent rBfec254364884, which revealed that it did not do any check on actual type of data it accesses, resulting easily in undefined behavior. Now also check the callback function pointer, this should be safe enough. Patch by @Severin (Julian Eisel), many thanks!
2022-08-22Fix potential undefined behavior printing a NULL pointer stringCampbell Barton
Improve messages when the font directory can't be detected or is missing.
2022-08-21Fix T100430: Restore larger node socket snap hitboxLeon Schittek
Restore old hitbox for connecting links to sockets. Commit rBd9d97db018d2 improved the node socket snapping when nodes are close together by decreasing the tolerance around the cursor when checking for nodes in front, that might occlude the socket. In doing so it also reduced the hitbox of the node socket itself that extended outside of the node. This commit restores the old node socket hitbox while keeping the improved behavior when nodes are close together with the following changes: 1) When looking for the socket under the cursor, iterate through the nodes front to back, which prioritizes node sockets in the foreground. 2) Instead of checking for another node underneath the cursor it checks if the socket is actually occluded by another node. The way the occlusion test for sockets is tweaked you can now connect to sockets that are only partially occluded, which is a bit more forgiving than previously. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D15731
2022-08-19Outliner: Workaround for big performance issue in Library Overrides modeJulian Eisel
When displaying the Hierarchies view of the Library Overrides display mode in a specific Heist production file, Blender would become unresponsive for about 30 seconds and every redraw in the Outliner would lag noticably. Issue is that the sum of hierarchy elements is multiple thousands, and that really brings the Outliner to its knees. I've looked into some improvents and committed a few minor ones already, but it seems it's really the big sum of elements causing the issue. There doesn't appear to be a single bottle-neck. To work around this, "lazy build" children, so that children of collapsed elements are not actually created. This brings the tree building down to some tens of miliseconds, and redrawing becomes rather lag-free again, even with big parts of the tree un-collapsed. Problem: Searching still needs to build the entire tree, so it's essentially unusable right now. Should we disallow searching altogether?
2022-08-19Outliner: Refactor how lazy-building of children is doneJulian Eisel
Makes the lazy-building (where children are only built when the parent isn't collapsed) more generic, so more display modes can use it. So far this was hardcoded for the "Data API" display mode. This will be used to work around a big performance issue with the Library Overrides Hierachies view in a complex production file, see following commit.
2022-08-19Fix T100502: GPencil Primitive apply offset when using `Stroke` modeAntonio Vazquez
The offset was applied in stroke mode and this was wrong.
2022-08-19Fix build error on i386 due to wrong use of float_tBrecht Van Lommel
Was supposed to be float, likely copy paste error from int32_t.
2022-08-19Fix build error on mips64el architectureBrecht Van Lommel
Same as D12194, name "mips" conflicts on such systems.
2022-08-19Fix: nurbs basis cache not computed before it is usedJacques Lucke
2022-08-19Fix T100323: Outliner: Do not allow to delete objects from an override ↵Bastien Montagne
collection.
2022-08-19Fix crash accessing PyEval_GetFrame from Python's crash handlerCampbell Barton
Check the thread-state before accessing PyEval_GetFrame, since this is a crash handler, the state of the Python interpreter isn't known.
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.