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-02Fix T99820: missing 'no more mising' tagging on reloaded libraries.Bastien Montagne
Backport of rB4d8018948ddb for 2.93 LTS.
2021-09-27Fix 'WM_window_find_under_cursor'Germano Cavalcante
This function was not working if the window is partially out of screen space.
2021-09-22Fix straightline gesture snapping not working for modal toolsPhilipp Oeser
This was implemented in {rB14d56b4217f8} but was never working for tools/operators other than the sculpt line mask tool. To be precise, the preview actually snapped but the operations (e.g. mesh bisect, vertex weight gradient) still happened "unsnapped" in modal. For the sculpt line mask tool this wasnt a problem, because it only draws a preview while modal, the actual mask was only applied later. This solves part one of T91320 (snapping), sculpting also introduced flipping in {rB7ff6bfd1e0af} which does not make much sense for all tools, but in bisect this could actually be supported, will add that in a separate Diff. ref T91320 Maniphest Tasks: T91320 Differential Revision: https://developer.blender.org/D12470
2021-09-06Fix T88812: Child Windows on Vertical MonitorsHarley Acheson
This patch improves the positioning of child windows when on monitors that are arranged vertically (any above any other). When calculating a window position in Ghost coordinates from GL coordinates we were using monitor height, which can give incorrect values when desktop is taller than any single monitor. So use desktop height instead. See D10637 for more details and examples. Differential Revision: https://developer.blender.org/D10637 Reviewed by Brecht Van Lommel
2021-08-23Fix T88033: Python reference memory leaks for non main data-blocksCampbell Barton
ID data-blocks that could be accessed from Python and weren't freed using BKE_id_free_ex did not release the Python reference count. Add BKE_libblock_free_data_py function to clear the Python reference in this case. Add asserts to ensure no Python reference is held in situations when ID's are copied for internal use (not exposed through the RNA API), to ensure these kinds of leaks don't go by unnoticed again.
2021-07-26Fix T85517: Cannot type Space while holding Shift key in text-field like spaces.Himanshi Kalra
Fix for T85517 Bug: Couldn't type space while holding down the shift key in text spaces (e.g. when saving a file, changing the name of object). Changes: Removing the key combination of Shift + space in `WM_event_is_ime_switch` method. Reviewed By: harley, mont29 Maniphest Tasks: T85517 Differential Revision: https://developer.blender.org/D10452
2021-05-12Fix T88194: Animation player displays washed out colorsRichard Antalik
Byte images used `ibuf->float_colorspace` as source colorspace. This was oversight - `ibuf->rect_colorspace` should be used as source colorspace. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11223
2021-05-08Fix PlayAnim cache size increasing when playing multiple animationsCampbell Barton
Error in 0499dbc5c16fe6b276da81d65cade4f5da92a308
2021-05-08Fix PlayAnim X/Y flippingCampbell Barton
This functionality was missed in recent GLSL drawing update fd3e44492e7606a741a6d2c42b31687598c7d09a.
2021-05-07Fix PlayAnim issue with images gradually loading into cacheCampbell Barton
Instead of only drawing images on first start, load them into cache. This resolves a logical problem when images don't load fast enough, where the animation would load some frames each time until all images loaded into cache. In practice this could play back with severe frame skipping many times times before all images were loaded making playback smooth. Part of a fix for T81751.
2021-05-07Cleanup: move frame caching into functionsCampbell Barton
2021-05-07Cleanup: extract image loading into it's own functionCampbell Barton
2021-05-07Fix use of imbuf that was never valid in animation playerCampbell Barton
Resizing the window would always draw the image with an empty imbuf.
2021-05-07Cleanup: minor changes from master to avoid merge conflictsCampbell Barton
2021-05-07Fix T81751: Use GLSL for better anim player performanceRichard Antalik
Originally colorspace of float images was converted using CPU. GLSL will render images much faster. Originally image was converted to `global_role_default_byte` space, disregarding view transform and also display device, which now is possible to specify. These parameters could be set via commandline to settings used in Blender, however if they are to be set by users, these needs to be sanitized. Right now defaults are assumed for device given for `COLOR_ROLE_DEFAULT_BYTE`. This should produce same behavior as implemented before. Together with D11167 animation player performance should be much better. This code was mostly copy-pasted from sequencer. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11178
2021-05-06PlayAnim: support limiting the cache by memory instead of framesCampbell Barton
Partial fix for T81751 which exposes multiple playback performance issues. Previously the cache was limited to 30 frames, without a way to increase the cache for smooth playback with files that are slow to load. Now the animation plays back smoothly once loaded into cache. The cache limit from the system preference is used when the player is launched from Blender. A new player argument `-c <cache_limit>` was added to support this.
2021-05-05Fix PlayAnim error applying cache limiterCampbell Barton
Each frame display would add an item to the cache limiting list without checking if it was already in the list. Limiting would then free image buffers when the length of the list exceeded USE_FRAME_CACHE_LIMIT (currently 30). In practice this meant short animations would free and reload frames during playback.
2021-05-05PlayAnim: add in missing define checkCampbell Barton
2021-04-30Fix crash running window operators in background modeCampbell Barton
2021-04-19Fix drag event leaving the gizmo not under the cursor highlightedCampbell Barton
Prevent drag events from changing the highlighted gizmo unless the drag event activates the gizmo. This resolves a glitch where testing a drag event would highlight at the point the drag was initiated even when the event was not handled.
2021-04-19Cleanup: re-order gizmo handling checksCampbell Barton
Non-functional change in preparation for fix.
2021-04-16Fix missing owner_id values from 919558854d624f5db40acfa9f5674ac8c94873b6Campbell Barton
This prevented dynamic enum callbacks being called.
2021-04-16WM: prevent drag events being continually testedCampbell Barton
Click-drag events that weren't handled would continually be tested for each mouse-motion event. As well as being redundant, this added the overhead of querying gizmos twice per motion event. Now click-drag is only tested once when the drag threshold is reached. This mitigates T87511, although the single drag test still causes the snap gizmo to flicker.
2021-04-16Fix T65064: Keymaps items controlling dynamic enums fail to exportCampbell Barton
Keymap UI and import/export could depend on the current context for dynamic enum's. Use STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID for OperatorProperties.
2021-04-13Fix snap gizmo flickering while draggingCampbell Barton
Ignore click-drag for non-mouse button drag events Alternative to fix issue detailed in D10886.
2021-04-11Cleanup: use ELEM, STREQ macrosCampbell Barton
2021-03-30Cleanup/Refactor: Unify functions that redraw the depth bufferGermano Cavalcante
Now `ED_view3d_backbuf_depth_validate`, `ED_view3d_draw_depth` and `ED_view3d_draw_depth_gpencil` are unified in `ED_view3d_depth_override`. This new function replaces `ED_view3d_autodist_init`. Also, since `ED_view3d_depth_update` depends on the render context, and changing the context is a slow operation, that function also was removed, and the depth buffer cached is now updated inside the new unified drawing function when the "bool update_cache" parameter is true. Finally `V3D_INVALID_BACKBUF` flag has been renamed and moved to `runtime.flag`. Differential revision: https://developer.blender.org/D10678
2021-03-24Cleanup: remove stdio.h header from MEM_guardedalloc.hCampbell Barton
This was included for `FILE *` which isn't used in the header. Ref D10799
2021-03-24Cleanup: use new BLI_assert_unreachable macroCampbell Barton
2021-03-18Cleanup: spellingCampbell Barton
2021-03-17Nodes: Add support to mute node wiresCharlie Jolly
This patch adds the ability to mute individual wires in the node editor. This is invoked like the cut links operator but with a new shortcut. Mute = Ctrl + Alt Cut = Ctrl Dragging over wires will toggle the mute state for that wire. The muted wires are drawn in red with a bar across the center. Red is used in the nodes context to indicate invalid links, muted links and internal links. When a wire is muted it exposes the original node buttons which are normally hidden when a wire is connected. Downstream and upstream links connected using reroute nodes are also muted. Outside scope of patch: - Add support for pynodes e.g. Animation Nodes - Requires minor change to check for muted links using the `is_muted` link property or the `is_linked` socket property. Maniphest Tasks: T52659 Differential Revision: https://developer.blender.org/D2807
2021-03-17Bugfix: properly rename Null audio device to NoneJörg Müller
2021-03-17Audaspace: porting minor improvements from upstreamJörg Müller
- NullDevice is now called None - Automatic choice of best available device. - Minor formatting, documentation and cmake fixes.
2021-03-15Fix regression with modal operator file load checkCampbell Barton
As of 2cc5af9c553cfc00b7d4616445ad954597a92d94, checking the window managers pointer for changes is no longer a valid way to check a file has been loaded.
2021-03-15WM: fallback to regular writing if auto-save can't access undo dataCampbell Barton
While this is very unlikely, always write the autosave file, even if the `memfile` undo data is unexpectedly NULL. Also use CLG for logging warnings.
2021-03-15Cleanup: refactor auto-save timer usageCampbell Barton
- Split out auto-save file writing from timer code. - Add wm_autosave_timer_begin so there are both begin & end functions. - Replace WM_event_add_timer/WM_event_remove_timer with begin/end calls.
2021-03-15Cleanup: remove unused auto-save read functionCampbell Barton
Also make wm_autosave_location a static function.
2021-03-15Cleanup: replace 'timer_ended' with 'timer_end'Campbell Barton
The previous naming made it seem as if the timer had already ended where as this function ends the timers.
2021-03-15Writefile: only include recovery info in auto-save & quit.blendCampbell Barton
Previously all blend files included the path they were saved, causing files distributed publicly to include users local paths. This also included developers home directories for startup & userprefs defaults & app-templates bundled with Blender. Now recovery information is only written for auto-save & quit.blend since this is the only time they're intended to be used.
2021-03-15Cleanup: rename G_FILE_RECOVER -> G_FILE_RECOVER_READCampbell Barton
No functional changes, make room for a write equivalent.
2021-03-15Cleanup: update comments, remove ifdef'd codeCampbell Barton
2021-03-14Cleanup: use explicit check for WM_KEYMAP_UPDATE_RECONFIGURECampbell Barton
A block of code ran when `wm_keymap_update_flag` was non-zero, replace this with explicit flag check since it wasn't immediately obvious which flag needed to be set.
2021-03-14WM: support loading keymaps in background modeCampbell Barton
While this still isn't done by default on startup, activating a key-config will load it as expected. Needed to perform key-map loading tests in background mode.
2021-03-12Cleanup: set the window manager to the updated context on loadCampbell Barton
While this happened to be corrected by code that runs afterwards, leaving this in an invalid state could cause problems in the future.
2021-03-11Fix missing UI updates, caused by own earlier commitJulian Eisel
Caused by 46aa70cb486d. RNA would send property update notifiers with the owner ID as `reference` data. Since above's commit we'd only send the notifiers to editors if the reference data address matches the space's address. So editors wouldn't get the notifiers at all. The owner ID for space properties is always the screen AFAIK. So allow notifiers with the screen as reference to be passed to editors as well, think this is reasonable to do either way. For example, steps to reproduce were: * Open Asset Browser * Mark some data-blocks of different types as assets (e.g. object & its material) * Switch between the categories in the Asset Browser. The asset list wouldn't be updated.
2021-03-11UI: Avoid unnecessary redraws of unrelated editors on space changesJulian Eisel
When adding a notifier, `reference` data can be passed. The notifier system uses this to filter out listeners, for example if data of a scene changes, windows showing a different scene won't get the notifiers sent to their listeners. For the `NC_SPACE` notifiers, a number of places also passed the space as `reference`, but that wasn't used at all. The notifier would still be sent to all listeners in all windows (and the listeners didn't use it either). Causing some unnecessary updates (e.g. see ed2c4825d3e2344). With this commit, passing a space will make sure the notifier is only sent to that exact space. Some code seems to already have expected that to be the case. However there were some cases that passed the space as `reference` without reason, which would break with this commit (meaning they wouldn't redraw or update correctly). Corrected these so they don't pass the space anymore.
2021-03-11Fix regression in 2cc5af9c553cfc00b7d4616445ad954597a92d94Campbell Barton
The check for undo-depth increment/decrement assumed a newly loaded window manager would have a different pointer. This broke bl_animation_fcurves test indirectly, the change to undo-depth caused the redo panel to attempt to popup in background mode - which isn't supported. Now the pointer is unchanged, the undo-depth is assumed to match the value used when calling the operator. The undo-depth is now properly maintained between file loads, which is an improvement on the original behavior which reset it.
2021-03-11Cleanup: spellingCampbell Barton
2021-03-11Fix T86431: Keep memory location of the window manager on file loadCampbell Barton
Keep the pointer location from the initial window-manager between file load operations. This is needed as the Python API may hold references to keymaps for e.g. which are transferred to the newly loaded window manager, without their `PointerRNA.owner_id` fields being updated. Since there is only ever one window manager, keep the memory at the same location so the Python ID pointers stay valid. Reviewed By: mont29 Ref D10690
2021-03-11WM: keep the current state when a blend fails to loadCampbell Barton
Previously many operations would run on file load, even if the file did not load. Pre/post load handlers were called, timers canceled, all undo data freed, editors exited ... etc. Now keep the blend file in it's current state. This simplifies updating this area of code as there is one less possible situation to account for.