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
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-07-26Fix T66378: Missing animation update when switching view layerSergey Sharybin
Current frame is stored in a scene, and scene might have multiple view layers. The inactive view layers were not informed about scene's frame being changed, so when user switched back to view after changing scene frame it was in an inconsistent state between current scene frame and animation. Now we tag scene for time changes, so dependency graph can catch up and do proper update. Currently tagging is from quite generic place. Probably better approach would be to tag from where frame is actually being assigned. Downside of this is that it's easy to miss some places. Reviewers: brecht, mont29 Reviewed By: brecht Maniphest Tasks: T66378 Differential Revision: https://developer.blender.org/D5332
2019-07-16Fixed crash when adding/removing custom normals from pinned meshSybren A. Stüvel
When a mesh is pinned in the properties panel, Blender crashes when you click the "Add Custom Split Normals Data". The code calls `ob = ED_object_context(C)` which returns NULL when the mesh is pinned in the properties panel, causing a segfault when trying to get the mesh via `ob->data`. A new function `ED_mesh_context(C)` avoids this by first checking whether a mesh was pinned in the context. If not, it checks the pinned object's data. If that's not there, or it's not a mesh, it returns the active object's mesh. Finally it returns NULL if there is no active object, or if the active object is not a mesh object. Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D5223
2019-07-08Fix T66008 Viewport: hidden edges are partially visibleClément Foucault
This was a regression from 2.79. The zoffset was doubled for some reason.
2019-07-04ImBuf: add crop function (move out of screendump.c)Campbell Barton
2019-07-03Fix T61808: remove confusing graying out of workspace that already existBrecht Van Lommel
This was meant to help users see which users are likely useful to add, but it's not so obvious and there are cases where it's useful to re-append the same workspace.
2019-07-03Fix T65899, T66314, T61808: various issues appending workspacesBrecht Van Lommel
This fixes crashes, wrong names and inability to append workspaces in edit mode. We now bypass the append operator so we can easily return a datablock pointer and work in any mode.
2019-07-02Fix (unreported) untranslatable title of Quick Favorites menu.Bastien Montagne
Side minor fix found while checking on T66235.
2019-07-02Cleanup: rename set_inverted_drawing, move to GPU_stateCampbell Barton
2019-07-01Fix T66283: Crash on redo/undo during playbackSergey Sharybin
2019-06-29WM: support window context overrideCampbell Barton
This makes it possible to take a screenshot from any window in Python.
2019-06-27Tool System: don't unlink tools when changing workspacesCampbell Barton
Caused gizmos to be lost with multiple main windows whenever one of them switched workspaces. Rely on tool gizmos poll function to unlink to gizmo.
2019-06-24Fix T65824: Span property ignored in mesh.fill_gridCampbell Barton
The fix for T60777 caused this operator not to work from Python. Add a repeat_last flag for operator execution.
2019-06-24Fix T66071: Navigation tooltip shows outside of 3D viewCampbell Barton
Clear gizmo highlight when the cursor leaves the region.
2019-06-17Fix AV-sync sometimes putting scene one frame backSergey Sharybin
2019-06-17Fix frame jump with AV-sync enabledSergey Sharybin
It was possible to have animation player step happening after manual jump prior to the dependency graph evaluation. Now we forbid changing scene frame if it was manually requested to be changed.
2019-06-17Fix T65737: context menu should not have Show Header for topbarBrecht Van Lommel
2019-06-16Drivers: fix Variable Copy & Paste in the edit popover.Alexander Gavrilov
Without these buttons the functionality of the popover is incomplete compared to the Graph Editor panel. To support this the operators have to read the active F-Curve from the context, instead of directly scanning animation data. Expanding the context would also help Python operators.
2019-06-13Fix T65445: wrong defaults when appending workspaces from builtin templatesBrecht Van Lommel
2019-06-11Fix/Cleanup: I18N: Bad usage of IFACE_ instead of TIP_.Bastien Montagne
Cheap tip: anything that is not "Camel Case" and/or that is more than a few words long should use `TIP_` translation, not `IFACE_` one. Also added several missing strings (including the one reported in D5056 by Jean First (@robbott), thanks).
2019-06-05Code Style: Make FormatJeroen Bakker
2019-06-05Sound: Port to a copy-on-write conceptSergey Sharybin
This change makes it so sound handles are created for evaluated scene, sequencer and speakers. This allows to have properly evaluated animation on them. For the viewport playback sound uses regular dependency graph. For the final render sound uses dependency graph created for render pipeline, which now also contains sequencer and sound datablocks. All the direct sound update calls are replaced with corresponding dependency graph recalc tag.
2019-06-04Fix status bar and keymap editor showing Call Menu instead of menu nameBrecht Van Lommel
2019-06-02Fix T65082, T65084: duplicating workspace does not preserve mode and orderBrecht Van Lommel
2019-06-02Fix T65185: Cycles viewport render no refreshing overlays properlyBrecht Van Lommel
Don't rely on detecting view matrix changes to refresh depth buffer, instead detect redraw tags coming from progressive render samples.
2019-05-31Cleanup: style, use braces in source/ (include disabled blocks)Campbell Barton
2019-05-31Gizmo: add 2D navigation for image/clip/sequencer viewsCampbell Barton
2019-05-28Cleanup: use time scrub instead of scrubbingCampbell Barton
Renaming was only done to ED_time_scrub_ui.h, function names and struct members used term 'scrubbing' which is ambiguous.
2019-05-27Mitigate T64346: Quick Favorites items cant be removedCampbell Barton
For now don't show missing quick favorite menu items which are missing. Once menu editing is supported they could be displayed.
2019-05-27Revert "UI: Edit Menu Operator Polling"Brecht Van Lommel
This reverts part of commit b7eba20236ca6499a62a8ee2b0c852086bc46b8e. Polling is causing issues in scripts, and the minor usability improvements are not worth the extra work this may cause at this point in the release cycle. Fixes T65149
2019-05-22UI: allow shrinking panel height to zero when open.Alexander Gavrilov
Currently if a panel becomes empty (draw simply returns), it stays at the last non-empty height. This seems to be caused by some legacy checks that may be completely obsolete, but the safest fix is to at least allow resetting height when the panel is open.
2019-05-22Remove "_base*" from context APIDalai Felinto
We are not exposing RNA_ObjectBase in the 2.80 API. Thus we can't have operators relying on it (e.g, CTX_data_visible_bases, CTX_data_active_base, ...). Otherwise users won't be able to override context for these operators. This commit keep the CTX_data_.*bases() functions around so we don't need to change the operators and potentially break things that late into 2.80. However as far as the Python scripters are concerned there is no base to be overriden, ever. That also simplify the guessing game addon developers have to play when trying to override an operatori context. They still need to find whether an operator requires editables, visibles, selected, ... objects. But at least they don't need to find out whether the operators need base or object.
2019-05-19UI: Edit Menu Operator PollingHarley Acheson
This patch updates the polling that enable/disables Edit Menu items. Slight Undo History menu changes Differential Revision: https://developer.blender.org/D4846 Reviewed by Brecht Van Lommel
2019-05-19UI: Remove Hover Highlight When Outliner Loses FocusHarley Acheson
This patch removes the hover highlight that can sometimes remain after moving out of the Outliner space Differential Revision: https://developer.blender.org/D4822 Reviewed by Brecht Van Lommel
2019-05-16Cleanup: panel layout logicCampbell Barton
Workspace was being assigned in a loop, make some vars const.
2019-05-15Outliner Restriction: Naming sanitization and iconDalai Felinto
No major API change here, only in the outliner restriction column variables (e.g., show_restrict_column_selectable > show_restrict_column_select). * Get rid of _INSTANCE (introduced on b1af68200159). * Differentiate (everywhere but the API) between HIDE (temporary) and VIEWPORT (global). * Use the expected icon for restrict viewport (same as objects and modifiers). * selectable > select
2019-05-14Screen: replace show footer operator with propertyCampbell Barton
This matches 'show header' internal logic.
2019-05-14Cleanup: rename ED_scrubbing.h to ED_time_scrub_ui.hJacques Lucke
Also renames the corresponding .c file.
2019-05-13Fix T64407: crash adding workspace after appending datablockBrecht Van Lommel
The files operator property should not be remembered for next operator executions, gives unexpected effects when using the operator again.
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-05-10UI: expose tool settings in the 3D view side-barCampbell Barton
Internally tool settings have been moved to the 3D view. Added the ability for to draw panels from another space/region so they can be mirrored in the properties editor.
2019-05-09Cleanup: avoid some floating point divisions in drawing codeBrecht Van Lommel
2019-05-09UI: dim icons in inactive tabs, similar to textBrecht Van Lommel
This makes the properties editor navigation bar less saturated. Internally the icon theme coloring was refactored a bit to move more towards the button drawing code.
2019-05-09Cleanup: reduce number of UI_icon_draw variationsBrecht Van Lommel
2019-05-09Fix: Nav_bar context menu in preferencesCampbell Barton
Also merge the keymaps for header/footer/navbar. D4736 by @Gvgeo with edits
2019-05-08UI: Move scrollbars to the right in animation editorsJacques Lucke
The text, that was in the scrollbars, stays on the left. Reviewers: brecht, billreynish Differential Revision: https://developer.blender.org/D4821
2019-05-08Keymap: Special keymap for clip editor scrubbing areaJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D4825
2019-05-07UI: Animation editor scrubbing areaJacques Lucke
The main reason for this change is to allow setting the active frame with the left mouse button, while still being able to select e.g. keyframes with the same mouse button. The solution is to introduce a new scrubbing region with a specialized keymap. There are a couple of related todos, that will be handled in separate commits. Those are listed in D4654. This solves T63193. Differential Revision: https://developer.blender.org/D4654 Reviewers: brecht, billreynish
2019-05-07Sound: Revert all the recent changes to soundSergey Sharybin
This happened to be a bigger rabbit hole to hell than it originally seemed, and there are higher priority design tasks to be handled (at this point high priority design task is more important than high priority bug fix). After talking to Brecht the decision was made to revert to the known isolated issue, which will allow everyone in the studio work same as prior to last Friday. The remaining bits will be worked on after all the design tasks are out of the way. This commit reverts: 4cdb4b9532c Fix T64161: Crashing using undo and multiple windows 064273a4ae7 Sound: Port more cases to be a part of dependency graph 2e582f8ab53 Sound: Fix access wrong dependency graph 5fc49d9c915 Sound: add stubs to build without audaspace c68c81a870b Sound: Make sure spin lock is initialized for new sound datablocks c02534469ac Sound: Delay creating sound scene handle for until is needed 9f681bea68f Fix T64144: Crash when displaying audio waveforms in VSE 2f79286453e Cleanup: unused vars bed8ad6f95a Fix crash in background rendering after recent sound changes 773691310f9 Fix T64143: Crash when scrubbing in the graph editor 888852055c1 Sound: Fix for being unable to jump to a frame during playback with A/V sync 6ab7b384645 Sound: More fixes for access of original scene 35db1195455 Sound: Fix access original scene during playback 211c4fd2e9a Depsgraph: Make comment about evaluation more obvious c5fe16e121e Sound: Make sound handles only be in evaluated datablocks b4e1e0946bf Depsgraph: Preserve sound and audio pointers through copy-on-write 4eedf784b04 Depsgraph: Store original sequencer strip pointer 6990ef151c1 Sound: Move evaluation to dependency graph d02da8de23b Sound: Delay opening handlers for until really needed 3369b828916 Depsgraph: Add scene audio component e8f10d64757 Depsgraph: Tag sequencer for update on changes 6e4b7a6e4d9 Depsgraph: Initial work to cover sequencer 17447ac5a6b Depsgraph: Make sound ID part of the graph