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-07-15Fix T98061: uv resize with individual origins could break constrain to boundsChris Blackbourn
Fix unreported: Resize with Constrain To Bounds will now limit one shared scale value for both U and V instead of calculating separate scale values for each. To fix T98061, the individual origins (transdata->center) is now used when that mode is active. See also: 0e9367fc29bc Differential Revision: https://developer.blender.org/D15420
2022-07-15Fix: Move DRW_shgroup_add_material_resources(grp, mat) to after the ↵Martijn Versteegh
null-check for grp. Reviewed By: fclem Maniphest Tasks: T99646 Differential Revision: https://developer.blender.org/D15436
2022-07-15Fix T99606: Regression: TexCoordinate losing precision far away from originClément Foucault
Same root cause as T99128. The fix also needed to be done in another place.
2022-07-15GPU: Fix shader builder on hardware that does not have all featuresClément Foucault
2022-07-15Cleanup: GPU: Replace NULL by nullptr from C++ filesClément Foucault
2022-07-15Fix an increasing bottleneck when key press operator is too slowSergey Sharybin
The goal of this change is to fix an increasing bottleneck of the event queue handling when there is an operator bound to a key press event and is taking longer to finish than a key-repeat speed on the system. Practical example of when it happens is the marker tracking operator in a single-frame track mode. Quite often artists will hold down Alt-arrow to track a segment of footage which seems trivial to track. The issue arises when the Alt-arrow is released: prior to this change it is was possible that more frames will be tracked. It also seems that redraws are less smooth. It is a bit hard to make easily shareable computer-independent test case. Instead, a synthetic case can be reproduced by adding a 50 ms sleep in the `text_move_exec()`. In such synthetic case open a long text in the text editor and hold left/right arrow button to navigate the cursor. The observed behavior is that seemingly redraws happen less and less often and cursor travels longer and longer distances between redraws. The cursor will also keep moving after the buttons has been released. The proposed solution is to ignore sequential key-press events from being added to the event queue. This seems to be the least intrusive and the most safe approach: - If the operator is fast enough there will be no multiple press events in the queue in both prior and after of this change. - If the operator is slow enough, clicking the button multiple times (i.e. clicking arrow button 3 times in a heavy shot will change the scene frame by exactly 3 frames because no events are ignored in this case). - Only do it for key press events, keeping mouse and tabled behavior unchanged which is crucial for the paint mode. Note that this is a bit different from the key repeat tracking and filtering which is already implemented for keymaps as here we only want to avoid the event queue build-up and do want to ignore all repeat events. In other words: we do want to handle as many key presses as the operator performance allows it without clogging anything. A possible extension to this change could be a key press counter, so that instead of ignoring the event we merge it into the last event in the queue, incrementing some counter. This way if some operator really needs to know exact number of key repeats it can still access it. Differential Revision: https://developer.blender.org/D15444
2022-07-15GPU: Remove USD dependency from shader_builder.Ray Molenkamp
Dependency was added as shader builder depended to blenkernel as an umbrella, in stead of adding the actual dependencies it required.
2022-07-15BLI_bitmap: fix _BITMAP_NUM_BLOCKS to not over-count by one blockAras Pranckevicius
For bit counts that were exact multiple of block size, the macro was computing one block too much. Reviewed By: Campbell Barton, Bastien Montagne Differential Revision: https://developer.blender.org/D15454
2022-07-15BLI_bitmap: ability to declare by-value, and function to find lowest unset bitAras Pranckevicius
In preparation for a larger change (D14162), some BLI_bitmap functionality that could be submitted separately: - Ability to declare a fixed size bitmap by-value, without extra memory allocation: BLI_BITMAP_DECLARE - Function to find the index of lowest unset bit: BLI_bitmap_find_first_unset - Test coverage of the above. Reviewed By: Campbell Barton, Bastien Montagne Differential Revision: https://developer.blender.org/D15454
2022-07-15Fix T99711: Eternal loop reading blend file thumbnailCampbell Barton
Account for negative BHead length (already handled by blend file loading).
2022-07-15Cleanup: Use const pointers for ImageSaveOptions and ImageFormatDataJesse Yurkovich
Use const pointers to ImageSaveOptions and ImageFormatData for API parameters where appropriate. Differential Revision: https://developer.blender.org/D15400
2022-07-15Fix T79304: improve uv island calculation when in edge selection modeChris Blackbourn
Differential Revision: https://developer.blender.org/D15419
2022-07-15Cleanup: separate clipUVTransform into two different functionsChris Blackbourn
No functional changes. Prep for D15420 / T98061.
2022-07-14Fix T99705: fix integer overflow in thumbnail extractorRay Molenkamp
It was smart enough to check if the buffer had the right size but neglected to cast to a 64 bit value so it overflowed. Differential Revision: https://developer.blender.org/D15457 Reviewed By: brecht
2022-07-14Modifiers: fix mesh to volume modifier on non-volume objectsJacques Lucke
2022-07-14Fix `on_drag_start` handler not getting ID when dragging from OutlinerJulian Eisel
We would first invoke the dragging, and then set the drag data (like the ID or the dragged modifier), so the `wmDropBox.on_drag_start()` handler wouldn't be able to access this. This broke dragging some IDs from the Outliner, noticed in D15333. It's now possible to first create/request drag data, extend it, and then invoke the actual dragging. The normal function to start dragging returns `void` now instead of `wmDrag *`, so the drag data can't easily be modified after starting anymore.
2022-07-14Fix T99702: Gpencil Flip strokes did not support multiframe editAntonio Vazquez
This was a missing feature and this commit solves this.
2022-07-14Cleanup: minor changes to camera frame fittingCampbell Barton
Use const vars & make order of min/max checks consistent.
2022-07-14Cleanup: spelling in commentsCampbell Barton
Also remove duplicate comments in bmesh_log.h, caused by automated comment relocation in [0]. [0]: c4e041da23b9c45273fcd4874308c536b6a315d1
2022-07-14Cleanup: remove redundant `event->val` check for 3D text insertionCampbell Barton
2022-07-14Fix: Wrong output types for some compositor nodesOmar Emara
The Difference Matte and RGB To BW nodes have a wrong output type. They should be floats but are of type color. This is a regression that was introduced during the migration to the socket builder API in D13266. Reviewed By: Blendify, fclem Differential Revision: https://developer.blender.org/D15232
2022-07-14Cleanup: format, unused argumentCampbell Barton
2022-07-14IDManagement: add more ID naming testsAras Pranckevicius
As part of a larger change (https://developer.blender.org/D14162), adding more test coverage for existing functionality separately. New tests: - ids_sorted_by_default - ids_sorted_by_default_with_libraries - name_too_long_handling - create_equivalent_numeric_suffixes - zero_suffix_is_never_assigned - remove_after_dup_get_original_name - name_number_suffix_assignment - renames_with_duplicates - names_are_unique_per_id_type
2022-07-14Fix curve drawing crash after changing geometry nodes output.Lukas Tönne
Using geometry nodes with attributes on a curve object and changing the output is crashing. This is because the `render_mutex` in the curve drawing cache is cleared after changes in `curves_batch_cache_init` and set to null. The cache isn't actually needed currently because all draw updates are single-threaded, but the new `drw_attributes_merge` function still tries to access it (this seems to be tolerated on Linux platforms but crashes on Windows). Make sure the render_mutex is always initialized after (re-)initializing the cache.
2022-07-14Correct error with IME from d6fef73ef110eb43756b7b87c2cba80abae3b39fCampbell Barton
2022-07-14Geometry Nodes: update curve type counts after realizing instancesJacques Lucke
The type counts have to be updated eagerly. This was missing from the realize-instances code before, leading to bugs further down the line.
2022-07-14BLI: fix finding indices from virtual arrayJacques Lucke
The sorting of index vectors assumed that all vectors have at least one element. Now this is checked for more explicitely.
2022-07-14Geometry Nodes: fix face corner to edge boolean interpolationJacques Lucke
This is a follow up for rB44e530e1b107fd0d91f472f9a58642ab59fd5422 which did not fix the function that interpolates boolean attributes.
2022-07-14Geometry Nodes: fix face corner to edge attribute interpolationJacques Lucke
Looks like this was wrong all the time.. Luckily, this conversion is not very common. Found when testing D15274.
2022-07-14UI: translate tooltips coming from menu descriptionsDamien Picard
Many menus get their labels exported to the .po file, but then are not actually translated in the UI. Before: {F13283752} After: {F13283750} Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15417
2022-07-14Cleanup: Rename & refactor several F-curve functionsColin Basnett
Rename and refactor several F-curve key manipulation functions, and move them from `editors` to `blenkernel`. The functions formerly known as `delete_fcurve_key`, `delete_fcurve_keys`, and `clear_fcurve_keys` have been moved from `ED_keyframes_edit.h` to `BKE_fcurve.h` and have been renamed according to hierarchical naming rules. Below is a table of the naming changes. | From | To | | -- | -- | | `delete_fcurve_key(fcu, index, do_recalc)` | `BKE_fcurve_delete_key(fcu, index)` | | `delete_fcurve_keys(fcu)` | `BKE_fcurve_delete_keys_selected(fcu)` | | `clear_fcurve_keys(fcu)` | `BKE_fcurve_delete_keys_all(fcu)` | | `calchandles_fcurve()` | `BKE_fcurve_handles_recalc()` | | `calchandles_fcurve_ex()`| `BKE_fcurve_handles_recalc_ex()` | The function formerly known as `delete_fcurve_key` no longer takes a `do_fast` parameter, which determined whether or not to call `calchandles_fcurve`. Now, the responsibility is on the caller to run the new `BKE_fcurve_handles_recalc` function if they have want to recalculate the handles. In addition, there is now a new static private function called `fcurve_bezt_free` which sets the key count to zero and frees the key array. This function is now used in couple of instances of functionally equivalent code. Note that `BKE_fcurve_delete_keys_all` is just a wrapper around `fcurve_bezt_free`. This change was initially spurred by the fact that `delete_fcurve_keys` was improperly named; this was a good opportunity to fix the location and naming of a few of these functions. Reviewed By: sybren Differential Revision: https://developer.blender.org/D15282
2022-07-14Fix T99239: weird behavior in Field on Domain nodeIliay Katueshenock
2022-07-14UI: translate quick favorites menu operator namesDamien Picard
Some operator titles were not translated in the quick favorites menu. Before: {F13283724} After: {F13283725} Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15416
2022-07-14I18N: Allow translating newly added GP data names, and a missing Surface one.Damien Picard
2022-07-14Fix T99677: crash when convex hull node is used on empty meshJacques Lucke
Fundamental issue is that the attribute api returns none, because the custom data api returns null for a layer when the size of 0. This should be improved separately.
2022-07-14Cleanup: simplify 3D text insert, remove checks for ascii escape codesCampbell Barton
3D text included checks for escape codes such as \n\r\b which have not been included in wmEvent.ascii since [0] (2009). Remove these and use more straightforward logic for overriding the events text input. [0] 66437a62a73966de8ccb673473ba69d6c1ed66a3
2022-07-14Cleanup: update & correct comments for event handlingCampbell Barton
- Remove references to `ISTEXTINPUT` as any keyboard event with it's utf8_buf set can be handled as text input. - Update references to the key repeat flag.
2022-07-14WM: Remove ASCII members from wmEvent & GHOST_TEventKeyDataCampbell Barton
The `ascii` member was only kept for historic reason as some platforms didn't support utf8 when it was first introduced. Remove the `ascii` struct members since many checks used this as a fall-back for utf8_buf not being set which isn't needed. There are a few cases where it's convenient to access the ASCII value of an event (or nil) so a function has been added to do that. *Details* - WM_event_utf8_to_ascii() has been added for the few cases an events ASCII value needs to be accessed, this just avoids having to do multi-byte character checks in-line. - RNA Event.ascii remains, using utf8_buf[0] for single byte characters. - GHOST_TEventKeyData.ascii has been removed. - To avoid regressions non-ASCII Latin1 characters from GHOST are converted into multi-byte UTF8, when building X11 without XInput & X_HAVE_UTF8_STRING it seems like could still occur.
2022-07-14Fix build and warnings from previous commit.Chris Blackbourn
2022-07-14Fix T99684: Upgrade Averages Island Scale with options Scale UV and ShearChris Blackbourn
Differential Revision: https://developer.blender.org/D15421
2022-07-13Docs: Fix out of order parametersAaron Carlisle
Fixes T99672
2022-07-13Cleanup: Do not use spaces in default data names.Bastien Montagne
Using white spaces in data names should not be encouraged in general, better not give wrong example here. Originally part of D15441.
2022-07-13Fix (studio-reported) bad remapping of libraries.Bastien Montagne
New remapper code would also fail in some cases when remapping libraries, similar to the issue yesterday, because ID_LI type had no mask value. That would fail to remap `parent` member of a library to NULL when deleting that parent, leading to a crash e.g. in Outliner tree building code. Reported by @JulienKaspar from Blender studio.
2022-07-13Documentation: Update Docs for Gizmojon denning
This patch updates the documentation for arguments regarding the `Gizmo` type. - Corrected `select_id` doc for draw_preset_ functions. `-1` indicates that no selection ID is to be written, but previous docs incorrectly specified `0` instead. - Added missing doc for `target` argument for `target_set_handler` function. Reviewed by: Aaron Carlisle (Blendify) Differential Revision: https://developer.blender.org/D14834
2022-07-13Expose option for fallback tools keymap in GizmoGroup typejon denning
This patch allows new GizmoGroup classes to support tool fallback keymap. With this patch, when new gizmo groups add `'TOOL_FALLBACK_KEYMAP'` to its `bl_options`, the fallback tools are added to the group. This allows a `WorkSpaceTool` (for example) to have selection be a fallback tool if the user LeftMouse drags away from other gizmos in the group. Reviewed by: Campbell Barton (campbellbarton) Differential Revision: https://developer.blender.org/D15154
2022-07-13Expose snap options in transform operatorsjon denning
This commit exposes snap options in transform operators. These options are needed for Python tools to control snapping without requiring the tool settings to be adjusted. The newly exposed options are: - `snap_elements` for choosing which element(s) of target the source geometry should snap to (ex: Face Raycast). - `use_snap_self`, `use_snap_edit`, `use_snap_nonedit`, `use_snap_selectable_only` for controlling target selection. - `use_snap_project` for controlling Face Raycast snapping. - `use_snap_to_same_target` and `snap_face_nearest_steps` for controlling Face Nearest snapping. Reviewed by: Campbell Barton (campbellbarton) Differential Revision: https://developer.blender.org/D15398
2022-07-13Fix T99654: Applying Mirror modifier breaks the erase toolAntonio Vazquez
The problem was the new generated strokes were copied from original and the location was offset to mirror, but the internal geometry data was not updated and the collision check done by brushes was not working. Now, the internal geometry data is recalculated when the modifier is applied.
2022-07-13Fix (studio-reported) issue in remapping code.Bastien Montagne
Not clearing runtime remapping data for the new ID as well as the old one can lead to false stale data there, wichi could e.g. make indirectly linked data be tagged as directly linked. This would generate an error report on file write when hapening on ShapeKey ID, since that type is not allowed to be directly linked.
2022-07-13Cleanup: logical order of axis defines, assign variables for readabilityCampbell Barton
2022-07-13Cleanup: use defines for camera axes for view frame fittingCampbell Barton
The values used for axes weren't in any meaningful order, use defines to improve readability.