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-10-19Properly gray out modifiers when FCurve has them turned offfcurve-modifier-panelsHans Goudey
2020-10-19Review feedback from JulianHans Goudey
2020-10-19Merge branch 'master' into fcurve-modifier-panelsHans Goudey
2020-10-18Fix for T81400: Block Width CorrectionsHarley Acheson
Scale widths of popovers and dialogs with Text Style font point changes. Differential Revision: https://developer.blender.org/D9132 Reviewed by Hans Goudey
2020-10-18Fix T81800: Datablock pin not working for bones in pose modeHans Goudey
The "active_pose_bone" context variable isn't accessed from `buttons_context`, it uses `screen_context` instead. This means it can't account for pinning in the property editor. Using "pose_bone" context variable first means the property editor context will be used and the pinning will work. Differential Revision: https://developer.blender.org/D9242
2020-10-18Sculpt: Fix (unreported) assert getting trimming cursor depth optionPhilipp Oeser
It is a boolean, not an enum.
2020-10-17Fix T81594: Unable to reassign effect inputsRichard Antalik
This was caused by canceling operator if strip has more than 0 inputs. Logic should be reversed - cancel only if strip has 0 inputs. BKE_sequencer_render_loop_check() arguments had to be sanitized because seq_effect_find_selected() can set seq1,2,3 to NULL Reviewed By: sergey Differential Revision: https://developer.blender.org/D9197
2020-10-17Cleanup: Reduce variable scope in screen directoryHans Goudey
Also return early and use LISTBASE_FOREACH in a few places
2020-10-17Cleanup: Reduce variable scope in area.cHans Goudey
2020-10-16Property Search: Reset panel expansion when exiting searchHans Goudey
This patch implements panel expansion saving and resetting for property search. While search is active, the panel expansion is based on whether or not it has a search result. When the search finishes, the panel expansion returns to its state before the search started. However, any panels interacted with during the search won't reset their expansion. This requires adding a new runtime flag for panels to store whether to use search result status as expansion. It also requires better handling for animation when panel expansion changes with another new runtime flag. `UI_panel_is_closed` gets the search-dependent expansion, but it is intentionally not used to access expansion in every case-- sometimes it's necessary to use `PNL_CLOSED` directly. Differential Revision: https://developer.blender.org/D8984
2020-10-16Cleanup: reduce variable scopesJacques Lucke
2020-10-16Cleanup: reduce variable scopesJacques Lucke
2020-10-16Animation: Snap Cursor Value operatorSybren A. Stüvel
Add operator to snap the 2D Cursor value to selected keyframes. This is doing almost the same as the "Cursor to Selected" operator, except that it doesn't affect the current frame, just the Y-coordinate (the value) of the 2D cursor. The "snap cursor" operators are added to the Key → Snap menu and to the Snap pie menu. This means that these menus are now extended in meaning, to not only mean "snap the selected keyframes to the cursor", but also for some options "snap the cursor to selected keyframes". This fixes T76596.
2020-10-16Cleanup: Animation, split up frame jump operatorSybren A. Stüvel
Split up `GRAPH_OT_frame_jump` exec function and added some local variables to give names to the cryptic `ked.f1`, `ked.f2`, and `ked.i1`. No functional changes.
2020-10-16Cleanup: clang-tidyJacques Lucke
2020-10-16Fix T81591: Align view to active is not working in sculpt modeCampbell Barton
Remove sculpt/paint checks in getTransformOrientation_ex This code goes back a long time (early 2.5x). I couldn't find any reason why sculpt/paint checks were being made. This makes the following changes: - When in object mode, the object must be selected. Since this function typically operates on the selected items. - When in paint/particle modes, the objects matrix is always used regardless of selection, since object selection can't be controlled in these modes. - When there is no active object, the first selected object is no longer used as it's quite an arbitrary decision & not something done elsewhere with objects in Blender.
2020-10-16Cleanup: remove debug printf()Sybren A. Stüvel
No functional changes.
2020-10-16Fix T62463: unable to select anim channel for unselected nodeSybren A. Stüvel
Remove the code that synchronises selection state of shader node animation channels. This code is only used in a few cases where selection of these animation channels is changed, and then potentially does the wrong thing and disallows selection of animation channels altogether. This removal is meant to be a temporary situation, to unblock animation channel selection. See T74159 for the overall effort to improve selection sync.
2020-10-16Cleanup: Animation, remove unused parametersSybren A. Stüvel
No functional changes.
2020-10-16Cleanup: spellingCampbell Barton
2020-10-15Outliner: Use operator option to decide which item to renameJulian Eisel
The `outliner.item_rename` operator needs to decide if it should rename the active or the hovered item. Previously it checked if the event is a press event, which is a hacky way of doing this and limit how the operator can be used in the keymap. Now use a operator option to let this be controlled on the keymap level. Doesn't change any default behavior.
2020-10-15Fix T76597: Support Keyframe: Copy To SelectedWayde Moss
Reviewed By: Sybren, Luciano Muñoz Sessarego Differential Revision: https://developer.blender.org/D7783
2020-10-15Fix error in previous commitJulian Eisel
Missing null-check, could lead to null-pointer dereference.
2020-10-15Cleanup: Refactor lookup for hovered Outliner element for renamingJulian Eisel
* Use existing and optimized lookup function, rather than own duplicated logic. * Move low-level coordinate check into general function, alongside similar ones.
2020-10-15Fix T81675: Renaming collapsed collection in Outliner renames nested itemsJulian Eisel
* `do_outliner_item_rename()` enables the rename mode for the item under the cursor. Issue is, collapsed children end up having stored the same coordinate as their parent, so they too would get the rename mode enabled (there is no early-exit that would hide this). * The items displayed as inline icons do get the proper coordinates of the icons, so they are not mistaken as being under the cursor. After rBb077de086e14, the Outliner tree is rebuilt less often, so the coordinates are cleared less often too. As far as I can see we can always clear coordinates of invisible items now. No code seems to depend on keeping the old coordinates anymore.
2020-10-15Silence warningDalai Felinto
2020-10-15Fix Cloth brush grab artifacts in the affected areaPablo Dobarro
The cloth brush grab mode was creating constraints at 1.0 strength in the area of the brush where the fade was evaluated to 1. This was causing stability issues in the simulation and not producing ideal results. Now the constraint strength is scaled with an empirically found factor. The values in this patch may require further tweaking after experimenting a little bit more with them. Reviewed By: sergey, zeddb Differential Revision: https://developer.blender.org/D9201
2020-10-15Fix T81743: Changed behaviour in RGB Curves node interpolationSybren A. Stüvel
Restore the old `correct_bezpart()` (pre-rBda95d1d851b4) function as `BKE_curve_correct_bezpart()`, and use that where the old behaviour was desired (that is, curve maps like used by the RGB Curves shader node). The new (post-rBda95d1d851b4) function is also renamed to `BKE_fcurve_correct_bezpart()` to avoid confusion.
2020-10-15Fix brush tip delta orientation with anchored strokesPablo Dobarro
When using anchored stroke, the stroke operator was modifying the coordinates on the "mouse" rna property by setting them to the original position. Because of this, all the sculpt delta calculation was failing and the delta for these brushes was set randomly (with a 0 vector) at the beginning of the stroke. There is now an extra property that uses the unmodified coordinates of the mouse to calculate the delta. Now delta orientation works as expected in all brushes and features that require brush tip orientation. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9183
2020-10-15Fix T81649: Cloth simulation dynamic area mode tearing the meshPablo Dobarro
Dynamic area should use the radius instead of the initial radius to get the nodes as the radius can now change during the stroke. In case of anchored strokes, the current radius can be bigger than the initial radius, simulating vertices outside the falloff area and breaking the mesh. Reviewed By: sergey Maniphest Tasks: T81649 Differential Revision: https://developer.blender.org/D9181
2020-10-15Sculpt: Use mpoly flags to sync Face Sets visibilityPablo Dobarro
Previously, all Face Set visibility logic was using mvert flags directly to store the visibility state on the vertices while sculpting. As Face Sets are a poly attribute, it is much simpler to use mpoly flags and let BKE_mesh_flush_hidden_from_polys handle the vertex visibility, even for Multires. Now all operators that update the Face Set visibility state will always copy the visibility to the mesh (using poly flags) and the grids, all using the same code. This should fix a lot of visibility glitches and bugs like the following: - Sculpt visibility reset when changing multires levels. - Multires visibility not updating in edit mode. - Single face visibible when surrounded by visibile face set, even when the face set was hidden. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9175
2020-10-15Sculpt: Add global automasking settings support in filtersPablo Dobarro
When using the sculpt filters, global automasking settings that affect all brushes were ignored because the automasking system was not implemented for filters, making filters and brushes react differently to the global sculpt settings which creates confusion. This makes all filter tools (mesh, cloth, color) use the same general automasking settings and features as the brush tools. Filters will now use the settings in the options panel to limit their effect. This also removes the "use Face Sets" option from the Mesh filter code, as it was duplicated from the automasking code just to have that funcitonality. This is now handled by the regular automasking system. The "Use Face Sets" option is still available in the cloth filter as that option limits the action of the forces, not the displacement. After this, it is possible to initialize the automasking system independently from the StrokeCache and Brush settings, so it can also be added to more tools and features in the future. Fixes T81619 Reviewed By: dbystedt, sergey Maniphest Tasks: T81619 Differential Revision: https://developer.blender.org/D9171
2020-10-15Sculpt: Use cursor depth in trimming gesturesPablo Dobarro
This adds an operator property to use the paint cursor radius and position for the depth of the trimming shape created by the trimming tools. When enabled, the shape is located in the surface point when the gesture started and it will have the depth of the cursor radius. When the cursor is not over the mesh, the shape will be positioned at the center of the depth of the whole object from the viewport camera. Reviewed By: dbystedt, sergey Differential Revision: https://developer.blender.org/D9129
2020-10-15Sculpt: Show paint brush cursor in all toolsPablo Dobarro
This patch enables the paint brush cursor with all tools in sculpt mode, even with the ones that are not brushes. The motivations for this change are: - The filters are using the position of the active vertex for certain features without any visualization of what the active vertex is. - You can call operators like mask expand (which depends on the brush cursor position and active vertex) with a non brush tool enabled. - Having the cursor in the rest of the tools allows to have a scene scale representation of the radius and a direct control of radius and strength (using the current brush shortcuts), which will allow to make features more intuitive without relying on modifying values in the topbar. For example, the brush radius can be used to control the depth of the cut in the trimming tools or the size of the sphere in the sphere mesh filter Reviewed By: #user_interface, dbystedt, pablovazquez Differential Revision: https://developer.blender.org/D9071
2020-10-15Fix mask expand creating wrong masks when the cursor is not over the meshPablo Dobarro
This forces the mask expand modal operator to use the maximum iteration when the cursor is not over the mesh, masking the entire connected component. This fixes the issue for both expanding masks and face sets. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9105
2020-10-15Sculpt: Experimental Pen Tilt SupportPablo Dobarro
This adds support for pen tilt in sculpt mode. For now, pen tilt is used by tweaking the tilt strength property, which controls how much the pen angle affects the sculpt normal. This is available in Draw, Draw Sharp, Flatten, Fill, Scrape and Clay Strips brushes, but it can be enabled in more tools later. The purpose of this patch is to have a usable implementation of pen tilt in a painting mode, so users can test and see in which hardware and platforms this feature is supported and how well it works. If it works ok, more tools and features that rely on pen tilt can be implemented, like brushes that blend between two deformations depending on the angle. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8893
2020-10-15Fix T80625: Trimming tools not working with transformed objectsPablo Dobarro
The code to handle object transforms was wrong. Now the trimming mesh and depts is calculated in world space, using the real view origin and normal and then stored in object space in the mesh and in the original coordinates array. As now both meshes for the boolean operation are in the same object space, the space conversion code can also be removed from the boolean function. Reviewed By: sergey Maniphest Tasks: T80625 Differential Revision: https://developer.blender.org/D8852
2020-10-15Fix T81697: Property search crash with python handlersHans Goudey
Previously I used `CTX_copy` to create a mutable copy of the context in order to set its area and region fields to temporary variables. This was a tradeoff to avoid casting away `const` for `bContext`. However, `bpy.context` is set to this new temporary value, which is fine for a single `wm_draw_update` pass, but in the next main loop, `bpy.context` is still set to this value, which was freed at the end of `property_search_all_tabs`. It would be possible to reset the `bpy.context` variable ath the end of the function, but this patch contains an alternate solution: just don't copy the context. It looks like this was the only use of `CTX_copy` anyway, maybe for good reason. Differential Revision: https://developer.blender.org/D9216
2020-10-15UI: Add reset to default value to keymapHans Goudey
With all the work on DNA defaults for 2.91, it's nice to expose this convenient operator. This was already hardcoded in the UI code to the backspace key, adding it to the keymap instead will make the shortcut automatically show in the button right click menu. Differential Revision: https://developer.blender.org/D9219
2020-10-15Cleanup: Animation, simplify channel selection codeSybren A. Stüvel
Split up `ANIM_deselect_anim_channels()` into `ANIM_anim_channels_select_set()` and `ANIM_anim_channels_select_toggle()`. `ANIM_anim_channels_select_set()` is equivalent to the old `ANIM_deselect_anim_channels(..., false, ACHANNEL_SETFLAG_xxx)`. `ANIM_anim_channels_select_toggle()` is equivalent to the old `ANIM_deselect_anim_channels(..., true, ACHANNEL_SETFLAG_ADD)`. `ANIM_deselect_anim_channels(..., true, ACHANNEL_SETFLAG_CLEAR)` was also called once. The `true` parameter suggested the "toggle" behaviour was intended, but the `ACHANNEL_SETFLAG_CLEAR` argument prevented any toggling. This is now replaced with `ANIM_anim_channels_select_set(ac, ACHANNEL_SETFLAG_CLEAR)` to make this explicit. No functional changes, just a cleanup in order to better understand how the selection works.
2020-10-15Cleanup: Animation, rename function to match operatorSybren A. Stüvel
Rename `animchannels_deselectall_exec` → `animchannels_selectall_exec` so that it matches the operator `ANIM_OT_channels_select_all`. No functional changes.
2020-10-14Fix T81004 Python: Images drawn in the Sequence Editor have wrong colorsClément Foucault
This was caused by the sequencer using a sRGB buffer without using the sRGB transform. This patch make it so that the framebuffer is rebound using the sRGB transform before the python draw callbacks.
2020-10-14Fix Asan warning in property editor texture tabHans Goudey
When there is no active texture, a NULL pointer was dereferenced. It didn't crash because the dereference was for the first item at the pointer, the ID. To fix this, return with no data when `texture is NULL.
2020-10-14UI: New option to invert search filter in DopesheetAntonio Vazquez
A lot of animator request an option to invert the filter of the dopesheet channels. This patch adds that invert filter option. This is not for Grease Pencil only, affect to all modes. {F8983328} Note: I have seen the new button has a rounded borders on the left. It would be better get rectangle shape, but not sure how to do it. Reviewed By: campbellbarton, pepeland Maniphest Tasks: T81676 Differential Revision: https://developer.blender.org/D9182 c68a2a
2020-10-14UI: Change Invert Filter icon for UIListAntonio Vazquez
This makes the icon equals to the invert icon used in all modifiers. {F8986444} Reviewed By: #user_interface, Severin, Blendify Differential Revision: https://developer.blender.org/D9194 3bb3b2
2020-10-14Cleanup: Use enum for return typeHans Goudey
This just follows up rB90a27d5aa91a1 with a few changes where changes were missed.
2020-10-14Cleanup: multi-line comment blocksCampbell Barton
2020-10-14Cleanup: commented includesCampbell Barton
2020-10-14Fix T81511: Loop-cut overlay doesn't follow deformed cageCampbell Barton
With constructive + deform modifiers, loop-cut visualization wasn't following the displayed mesh. This now gets the coordinates from the cage when available.
2020-10-14Cleanup: spellingCampbell Barton