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-07Refactor `BKE_id_copy_ex` to return the new ID pointer.Bastien Montagne
Note that possibility to pass the new ID pointer as parameter was kept, as this is needed for some rather specific cases (like in depsgraph/COW, when copying into already allocated memory). Part of T71219.
2020-10-07UI: Fix Incorrect Workspace Tab SizingHarley Acheson
Changes Workspace tabs so that the text size and tab width are both set by style.widget.points. Differential Revision: https://developer.blender.org/D9108 Reviewed by Julian Eisel
2020-10-07UV/Image Editor: Overlay PopoverJeroen Bakker
The overlay options in the image/uv editor is hidden in side panels and menus. Sometimes this panel is even hidden, while still useful. The goal of this task is to introduce an overlay pop-over just like the overlay-popover of the 3d viewport. Popover has * UV Stretching (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Display As (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Show Modified (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Show UV Edges (including opacity slider; available UV, View, Paint, when active object mode is a mesh and in OB_EDIT mode) * Udim tiles when no image is available. Like the 3d viewport, there will be a editor toggle to enable/disable the overlays For compatibility reasons the RNA properties are added to both the `SpaceImage.uv_editor` amd `SpaceImage.overlay`. On DNA level they are still stored in the SpaceImage. only new properties are added to the SpaceImageOverlay struct. During the next major release we could remove these options from `SpaceImage.uv_editor`. This should be noted in the Python section of release notes. Reviewed By: Julian Eisel, Pablo Vazquez Differential Revision: https://developer.blender.org/D8890
2020-10-07Fix T81490: GPencil merge layer duplicated all strokesAntonio Vazquez
There was a wrong duplication of all strokes and this accumulated all previous data for each frame. Also a cleanup has been done in order to clarify what means each variable.
2020-10-07Fix / cleanup panel category tab drawingYevgeny Makarov
The panel category tabs (In the 3D view N-panel) did not look great when zoomed in or with high DPI screens, with multiple overlapping outlines, and roundness that didn't match elsewhere in Blender. In addition, there was some unecessarily low-level drawing code in the panel code. This commit uses an existing function `UI_draw_roundbox_4fv`to draw the tabs instead. There are some slight visual differences, though these are easily adjusted with theme colors. Differential Revision: https://developer.blender.org/D9045
2020-10-07Fix T76595: Indicate the Active Keyframe in Graph EditorHans Goudey
In the graph editor there is a panel that says "Active Keyframe" for numerically editing a keyframe's values, but in the code there is no concept of the "active keyframe." Since this is a useful concept to have for some other features anyway, this commit adds an active keyframe index value to FCurves. It also displays it with a theme color for the active vertex (which didn't exist before) if the FCurve is active. The active keyframe in the graph editor is treated similarly to the active vertex in the 3D view. It is the keyframe most recently selected with a single click, and it is always selected. For now, the only real functional change is that the active keyframe appears in white and it should be more predictable which keyframe is being edited in the sidebar panel. Differential Revision: https://developer.blender.org/D7737
2020-10-07UI: Improve labels in "Convert To" menuYevgeny Makarov
Move the information about the type of the source objects to the item descriptions instead of the names. The extra information in the names made the labels cluttered, and it's less important information. Differential Revision: https://developer.blender.org/D8352
2020-10-07UI: Fix capitalization in various placesYevgeny Makarov
Follow the MLA style, agreed upon in T79589. This means "from" within UI labels should be lowercase. Differential Revision: https://developer.blender.org/D8345
2020-10-07UI: Use property split in various pop-up dialogsYevgeny Makarov
The settings in these popups are not animateable, so also turn off property decorate. And also use better widths in order to fit the full text. Differential Revision: https://developer.blender.org/D9060
2020-10-07Fix T67776: Animation/value keyframe slider doesn't appear in dope sheetChristoph Lendenfeld
Avoid overwriting user-chosen `SACTION_SLIDERS` flag when switching the Dope Sheet editor to Shape Key mode. The Shape Key mode now ignores the flag, and always shows the sliders. The obvious limitation is that you can't hide the sliders in the Shape Key editor anymore Reviewed By: looch, sybren Differential Revision: https://developer.blender.org/D9121
2020-10-07Refactor: Remove `BKE_XXX_localize()`, in favor of using regular ID copying ↵Bastien Montagne
code. Besides the NodeTree case (which remains unchanged), the localize code is only used in one place (to generate previews of shading data-blocks). This commit introduces a new `LIB_ID_CREATE_LOCAL` option for ID creation/copying, which essentially implements the behavior of the removed `BKE_XXX_localize()` functions into regular mainstream ID copy code. When this option is set: - new ID is tagged with `LIB_TAG_LOCALIZED`; - Some ID copying callbacks have specific behaviors, mainly the root nodetree of shading IDs gets duplicated with specialized `ntreeLocalize()` function. Note that I would not consider getting rid of `ntreeLocalize` for now, this function is recursive, which should ideally never happen within ID management copying code (this introduces all kind of complications). No behavioral change expected from this commit.
2020-10-07Fix T81461: Weight paint crash with "Vertex Groups X Symmetry" optionPhilipp Oeser
In that case, weightpainting would still be done threaded, but current mirroring code cannot be run in parallel. Caused by rB5502517c3c12 [which was checking mesh 'flag', needs to be 'editflag' -- thus test was always true]. Reviewers: pablodp606 Maniphest Tasks: T81461 Differential Revision: https://developer.blender.org/D9126
2020-10-06Fix T81465: Snapping to edge center doesn't work as expected when using axis ↵Germano Cavalcante
locking The result was being affected by the view alignment correction. Regression introduced in rB4eda60c2d82d
2020-10-06Fix T81488: Deleting an Object Constraint crashes BlenderHans Goudey
The edit_constraint_property_get function was using bone constraints in pose mode even for object constraints. This change mirrors the code in `uiTemplateConstraints` as well. Differential Revision: https://developer.blender.org/D9128
2020-10-06Sculpt: Union and Join mode for trim toolsPablo Dobarro
This enables a union boolean mode for the trimming gestures tools which adds geometry to the mesh instead of cutting it. It also adds a Join mode, which adds the geometry directly without using a boolean operation. Depending if you plan to use dyntopo or not, it is useful to have both options available. This is using the full depth of the object from the camera view for the depth of the geometry, but options for controlling the trimming depth in all modes are going to be added in later patches Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9066
2020-10-06Fix T81470: Buttons in closed panel visible during searchHans Goudey
The buttons hide when the search finishes based on whether they are in the "panel header" group. These buttons were not protected with a new group. This adds a new group for operator button calls, and also makes it so a new group is always created after the header buttons.
2020-10-05Sculpt: Remove mask datalayer after extracting the objectPablo Dobarro
When extracting a mask, the new object is going to have the same mask on the same vertices, so it can't be sculpted without clearing the mask first. It makes more sense to delete the mask datalayer from the new object. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9070
2020-10-05Fix T81343: Smooth shading normals not updating with line project toolPablo Dobarro
Just a missing update flag Reviewed By: mont29 Maniphest Tasks: T81343 Differential Revision: https://developer.blender.org/D9077
2020-10-05Sculpt: Modify damping using the simulation factor of the cloth brushPablo Dobarro
This helps blending artifacts with dynamic simulation areas as the damping increases when the vertex. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9084
2020-10-05Sculpt: Preview the active side of the line gesturesPablo Dobarro
This adds a small gradient to the right side of the line to preview which side of the mesh is going to be affected by the gesture operation. Reviewed By: Severin Differential Revision: https://developer.blender.org/D9106
2020-10-05Fix T81380: Playback set start/endframe operators can set negativePhilipp Oeser
rendering range The Allow Negative Frames option, introduced in rB21a2350248fd, allows for negative frames, but this should only apply for playback and animations, the rendering range should still be clamped to MINFRAME / MAXFRAME, because rendering does not allow for negative frames. Preview range should not be affected afaict (I am not aware of operators that allow for rendering this range). Maniphest Tasks: T81380 Differential Revision: https://developer.blender.org/D9112
2020-10-05Outliner: Move collection exclude button to restrict columnsNathan Craddock
Move the collection exclude checkbox to be with the other restrict buttons. This makes the button consistent with the other restrict buttons, and it makes the visual hierarchy more clear with the contents of a collection properly indented under the collection name, rather than the collection icon. Differential Revision: https://developer.blender.org/D8928
2020-10-05Cleanup: Use short for properties editor tab listHans Goudey
Because the active context is stored as a short in DNA it's better to use short in the code surrounding it. Also adjusted a comment that reflected an incorrect assumption.
2020-10-05Transform: Use orientation of active object with Auto ConstraintGermano Cavalcante
Fix T81429. This was an intentional change in rBc75a665c442e as it maintains the same behavior as the constraint with or without modifier. But from the user's PoV, it is better to keep the old behavior. This makes drawing and behavior more intuitive.
2020-10-05Insert keyframes while preserving shape of curveSybren A. Stüvel
Apply the De Casteljau algorithm to split the Bèzier curve at the X coordinate where the new key is inserted, and uses the result to update both the newly inserted and surrounding handles. For curves that use Auto keyframes this has been largely addressed by the new algorithm from D2884. This commit extends this to non-auto handles. This code is heavily based on D3172 by Alexander Gavrilov (@angavrilov). Manifest Task: https://developer.blender.org/T81353
2020-10-05Cleanup: Declare variables where initializedHans Goudey
Declaring variables where they are initialized and used makes their scope much more explicit and it aids readility since types are visible. This commit doesn't touch the ID template code since there is an active patch in that area.
2020-10-05Move sequencer sources from blenkernelRichard Antalik
This is first step of refactoring task T77580. Next step will be breaking up files into smaller ones. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D8492
2020-10-05Fix T80397: Select Side not working correctlyRichard Antalik
Test for side on which strip is was incorrect.
2020-10-05Rename eSpaceSeq_Proxy_RenderSize membersRichard Antalik
Remove word proxy from eSpaceSeq_Proxy_RenderSize members if proxy is not used with that item. Otherwise this can be a bit confusing. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8861
2020-10-05Fix T80282: Playback start delayed with AV syncRichard Antalik
If current frame is set to before start frame, with AV sync there is delay when playback is started. Tag scene with ID_RECALC_AUDIO_SEEK, so audio playback starts from correct position. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8809
2020-10-03Cleanup: Remove duplicated View2D pan polling logicJulian Eisel
Same as 21fc4ae20692, but for view panning this time. Also had to set the poll callbacks still in this case.
2020-10-03Revert part of previous commitJulian Eisel
The change to the `poll()` callback was actually incorrect. But also reduandant, since the function is actually already executed in the operator.
2020-10-03Fix compile error when compiling with WITH_INPUT_NDOF after View2D changesJulian Eisel
Actually, fixes compile error and an incorrect poll. Caused by 21fc4ae20692 and 3a1cf838ca09. The poll has to perfrom the `view_zoom_poll()` logic to ensure correct context.
2020-10-03Fix error in previous commit...Julian Eisel
2020-10-03Fix possible un-initialized variable use in UI codeJulian Eisel
Uncovered by a4aa94c41cb7. Before that, it would actually be a possible `NULL` pointer dereference. It would happen if a `UILayout.prop()` was placed with the `full_event` option set to `True` (or the C equivalent) for a non keymap-item property. Now this the `full_event` option is ignored then with a warning print.
2020-10-03Fix issues with calling View2D zoom operators in an `EXEC` contextJulian Eisel
Multiple related issues: * `view_zoomdrag_exec()` required `view_zoomdrag_init()` to be called first to set up data. Can now easily be done in the `_exec()` function as well though. * Because of that the operators could not be called in an `EXEC_` context (e.g. `EXEC_REGION_WIN`). * With "Zoom to Mouse Position" enabled, zooming from a menu or script would zoom to the mouse position. That should only happen if the operators are called directly in the editor.
2020-10-03Cleanup: Remove redundant View2D operator poll checkJulian Eisel
The poll would already be executed as operator callback, this check was redundant. Also see previous commit.
2020-10-03Cleanup: Remove duplicated View2D zoom polling logicJulian Eisel
`view_zoomdrag_init()` would perform a number of sanity checks that `view_zoom_poll()` already executed. The design of operators forsees that (non-expensive) context sanity checks are done by the `poll()` callbacks, and the execution callbacks can then just assume that happened. No reason to be overly pedantic, we don't do that elsewhere either. Note that this code is from the earliest days of an operator design. So it's not surprising that it wasn't using the design "properly".
2020-10-03Property Search: Set panel expansion when tab changesHans Goudey
This commit makes the panel expansion set based on the search results when the active tab in the properties editor changes. The multi-tab search patch (D8859) actually doesn't handle this because it uses a different code path. This feature uncovered a subtle but fairly significant issue with the implementation of property search (More details in T81113). Basically, the search needed multiple redraws to properly display the expansion of panels based on the search results. Because there is no animation of panel expansion when switching tabs, the problem was exposed only now. With this commit, hiding of "search only" buttons and panel size calculation happens in a single final step of the panel layout pass. The "search only" layout root flag is removed. Instead every button inside a panel header is in a single "uiButtonGroup" marked with a specific "in header" flag, an idea which could be generalized in the future. Differential Revision: https://developer.blender.org/D9006
2020-10-03Cleanup: Remove/replace C standard library assert() and header usagesJulian Eisel
We have our own assert implementation, `BLI_assert()` that is prefered over the C standard library one. Its output is more consistent across compilers and makes termination on assert failure optional (through `WITH_ASSERT_ABORT`). In many places we'd include the C library header without ever accessing it.
2020-10-03Cleanup: Remove dead code in panel logicJulian Eisel
The region types checked here were removed from the editors in 9e2abbc9ba5d and eb7485389b8a. So the if-conditions would never be true.
2020-10-03Fix error in recent change "run UserDef versioning from readfile.c"Campbell Barton
Missed moving the defines in CMake for e255040c7797 causing cycles not to be enabled.
2020-10-03Fix stack use after scope error after recent cleanupHans Goudey
An error adding search to an existing button, caused by my own error in rBa4aa94c41cb79e9.
2020-10-03UI: Create button group if none existsHans Goudey
This makes it unecessary to create a button group when the block is created, giving more flexibility when creating the first group-- for example, creating the first button group with special parameters.
2020-10-03UI: Move button groups from layout to block levelHans Goudey
For a future patch (D9006) we need these groups for longer than just the the layout process, in order to differentiate buttons in panel headers. It may also be helpful in the future to have a way to access related buttons added in the same uiLayout.prop call. With this commit, the groups are stored in and destructed with the uiBlock.
2020-10-03Cleanup: run UserDef versioning from readfile.cCampbell Barton
Now versioning UserDef is run in readfile.c, as is done for other Blender data. Previously versioning was mixed with other run-time initialization, so it needed to be called later by the window manager.
2020-10-02Property Search: Don't use search color for subpanel titlesHans Goudey
This replaces the blue theme color for subpanel titles with the the same fade as for parent panels. The search color doesn't work well for subpanel title colors. And actually, because there are often buttons with checkboxes in the panel headers, we don't have to treat this indicator any differently than regular buttons. Differential Revision: https://developer.blender.org/D8976
2020-10-02Property Search: Differentiate search filtered and inactive buttonsHans Goudey
Currently there's no way to know if a button is inactive when it doesn't match the search results, because they use the same 50% gray level. This isn't a huge problem, but it could lead to confusion. This commit uses a subtle solution, a 25% opacity when the button is inactive and also filtered by search. This requires flipping the meaning of the UI_SEARCH_FILTER_MATCHES flag in the code, and also adding a widget_alpha_factor utility in the widget code. Differential Revision: https://developer.blender.org/D8975
2020-10-02Fix T78503: Disabled layout portion passes mouse throughHans Goudey
3D Viewport -> Sidebar -> View -> Local Camera is disabled. When you click on it, box select starts. This behavior isn't intended, and fixing it is quite simple. The only case where this would continuing would still be desired is if a disabled button overlapped with a non-disabled button, but this shouldn't be the case anywhere. Differential Revision: https://developer.blender.org/D8832
2020-10-02Cleanup: Declare variables where initializedHans Goudey
Also reduce the scope of some variable declarations. This also allows making some variables constant.