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-06-24Cleanup: remove unused function WM_cursor_compatible_xyCampbell Barton
2022-06-23Fix T99083: audio bad in command-line video player (blender -a)Jörg Müller
There was a wrong sample size computation in PulseAudioDevice. The sample format is switched to float32 for the command-line player.
2022-06-23Fix T99027: Touch typing in text fields results in dropped key pressesCampbell Barton
Fix by always testing unhandled double-click events as press events, irrespective of the previous event type. **Details** Handling double-click events only ran when the previously pressed-key matched the current pressed-key. Originally when double-click support was added the previous type was compared (ignoring it's press/release value) and while not necessary it was harmless as it matched the check for double-click events being generated. As of [0] the logic for click/drag detection changed to ignore release events as release this could interrupt dragging. This made it possible to generate double-click events that failed the `event->prev_press_type == event->type` comparison. In these cases it was possible to generate double-click events that would not fall-back to a 'press' value when unhandled. [0]: 102644cb8cbb8b21e55643cebe2ed364885023a6
2022-06-18GHOST/Wayland: support displaying custom software cursorsCampbell Barton
Add a method to access the custom cursor from GHOST which is used for drawing a software cursor. This means the knife tools cursor now work as expected. Although non-custom cursors are still not supported.
2022-06-18Fix T98793: Wayland clamps cursor movement fails with gnome-shellCampbell Barton
The current gnome-shell (v42.2) has a bug where grabbing the cursor doesn't scale the region when confining it to the window. For Hi-DPI displays this means the cursor may be confined to a quarter of the window, making grab unusable. Even though this has been fixed up-stream the issue remains in the latest release - so workaround the problem by implementing window confined grab using a software cursor. This is only used gnome-shell for displays that use Hi-DPI scaling.
2022-06-17BLF: Fallback Font StackHarley Acheson
Allow use of multiple fonts acting together like a fallback stack, where if a glyph is not found in one it can be retrieved from another. See D12622 for much more detail Differential Revision: https://developer.blender.org/D12622 Reviewed by Brecht Van Lommel
2022-06-17Cleanup: use booleans for GHOST C-APICampbell Barton
Also use GHOST_ prefix for public functions.
2022-06-17Cleanup: remove `r_` prefix for non-return valuesCampbell Barton
2022-06-16Cleanup: differentiate region/screen relative coordinatesCampbell Barton
- Avoid ambiguity which caused these values to be confused, use `mval` for region relative mouse coordinates, otherwise `event_xy`. - Pass region relative coordinates to sample_detail_dyntopo & sample_detail_voxel as there is no reason to use screen-space values. - Rename invalid use of mval for screen-space coordinates.
2022-06-16GHOST/Wayland: workaround inability to access window positionCampbell Barton
Wayland doesn't support accessing the position making functionality that would map events to other windows fail, sometimes considering windows overlapping when they weren't (as all window positions were zeroed). Disable dragging between windows when accessing the window the position isn't supported.
2022-06-15GHOST/Wayland: resolve glitch drawing the software cursorCampbell Barton
When grab was disabled, the software cursor would remain displayed in the image view. Ensure an additional redraw is done to clear the cursor.
2022-06-14Fix T98875: Adding camera background image shows errorJulian Eisel
Don't show an error if no operator property is set at all that can be used to find an image file or ID for dropping. The caller can decide if this is an error that needs reporting or a valid case, like it is here.
2022-06-14Curves: support adding keymap items for operatorsJacques Lucke
* Add a new keymap for `curves.*` operators. This is mainly for edit mode operators, but since we don't have edit mode yet, these operators are also exposed in sculpt mode currently. * Fix the naming of the "sculpt curves" keymap.
2022-06-10GHOST: add back-trace handler to the APICampbell Barton
Add a back-trace handler to GHOST, so error handlers can include a back-trace (when supported). No functional changes.
2022-06-10Cleanup: Clang tidyHans Goudey
2022-06-09Cleanup: use const variables & argumentsCampbell Barton
2022-06-09Fix software cursor being used with absolute events in WaylandCampbell Barton
The software cursor was being enabled with absolute events, causing a problem with absolute tablet events. This caused both cursors to be visible at once when using a tablet (with D15152 applied).
2022-06-08GHOST/Wayland: draw a software-cursor when wrapping cursor motionCampbell Barton
As Wayland doesn't support moving the cursor, draw a cross-hair cursor at the location used by Blender. Without this, the cursor was locked at the location where grab started, making some actions unusable since the cursor location was invisible. Resolves T77311.
2022-06-07Cleanup: spelling in comments, minor formatting tweaksCampbell Barton
2022-06-07Cleanup: spelling in comments, additional white spaceCampbell Barton
2022-06-06Cleanup: quiet compiler warningCampbell Barton
2022-06-05Cleanup: Move wm_event_system.c to C++Hans Goudey
This allows the use of C++ data structures to simplify code and improve performance.
2022-06-05UI: show gizmo while transformingCampbell Barton
When interacting with translate/rotate/scale gizmo, show the gizmo while it's in use. There are some exceptions to this, as showing all scale gizmos while scaling causes the gizmos to become large & distracting so in this case only the gizmo being dragged is shown. Resolves T63743.
2022-06-05Cleanup: assign operator type flags in their initializationCampbell Barton
Some operators OR'ed the existing flags in a way that made it seem the value might already have some values set. Replace this with assignment as no flags are set and the convention with almost all operators is to write the value directly.
2022-06-03Fix: Curves sculpt mode keymaps missing in preferencesHans Goudey
These changes make the curves sculpt mode keymap consistent with other modes. They now show up in the keymap, for potential editing of tool shortcuts, etc. I don't fully understand this system, but at least these changes should make it consistent. Differential Revision: https://developer.blender.org/D15112
2022-06-03Cleanup: spelling in commentsCampbell Barton
2022-06-02Expose background job info to PythonSybren A. Stüvel
Add `bpy.app.is_job_running(job_type)` as high-level indicator. Job types currently exposed are `WM_JOB_TYPE_RENDER`, `WM_JOB_TYPE_RENDER_PREVIEW`, and `WM_JOB_TYPE_OBJECT_BAKE`, as strings with the `WM_JOB_TYPE_` prefix removed. The functions can be polled by Python code to determine whether such background work is still ongoing or not. Furthermore, new app handles are added for `object_bake_{pre,complete,canceled}`, which are called respectively before an object baking job starts, completes sucessfully, and stops due to a cancellation. Motivation: There are various cases where Python can trigger the execution of a background job, without getting notification that that background job is done. As a result, it's hard to do things like cleanups, or auto-quitting Blender after the work is done. The approach in this commit can easily be extended with other job types, when the need arises. The rendering of asset previews is one that's likely to be added sooner than later, as there have already been requests about this. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D14587
2022-06-01Merge branch 'blender-v3.2-release'Campbell Barton
2022-06-01Fix T98370: Shift+RMB Select nodes doesn't work with the tweak toolCampbell Barton
The tweak tool was toggling node selection twice, as the selection key-map is already accounted for in the node key-map there is no need to duplicate the actions in the tweak tool.
2022-05-30Cleanup: Clang tidyHans Goudey
Mostly duplicate includes, also use nullptr, and using default member initializers.
2022-05-30Cleanup: report errors instead of asserting in case of missing local data on ↵Bastien Montagne
file read. While this should never happen, this is not a critical failure preventing Blender to work.
2022-05-27Merge branch 'blender-v3.2-release'Julian Eisel
2022-05-27Fix T97918: Crash when changing "Frame All" shortcut from context menuJulian Eisel
After removing the default 'Home' shortcut for "Frame All", a NDOF (3D Mouse) default shortcut was still available for the operator. The event filtering introduced in 4357fb63db77 was missing the NDOF filtering logic. So while the context menu correctly found the NDOF keymap item, its actual shortcut change/removal code incorrectly filtered out the NDOF keymap items and thus failed to find the item.
2022-05-26UI support for showing candidates for string propertiesCampbell Barton
Currently strings are used for cases where a list of identifiers would be useful to show. Add support for string properties to reference a callback to populate candidates to show when editing a string. The user isn't prevented from typing in text not found in this list, it's just useful as a reference. Support for expanding the following strings has been added: - Operator, menu & panel identifiers in the keymap editor. - WM operators that reference data-paths expand using the Python-consoles auto-complete functionality. - Names of keying sets for insert/delete keyframe operators. Details: - `bpy.props.StringProperty` takes an option `search` callback. - A new string callback has been added, set via `RNA_def_property_string_search_func` or `RNA_def_property_string_search_func_runtime`. - Addresses usability issue highlighted by T89560, where setting keying set identifiers as strings isn't practical. - Showing additional right-aligned text in the search results is supported but disabled by default as the text is too cramped in most string search popups where the feature would make sense. It could be enabled as part of other layout tweaks. Reviewed By: brecht Ref D14986
2022-05-25Fix T83519: Line Gesture flip state not updating without a mouse move eventPablo Dobarro
The wm_gesture_tag_redraw function was only called on mouse move, so the flip state preview was not updating just by pressing the F key. Reviewed By: Severin Maniphest Tasks: T83519 Differential Revision: https://developer.blender.org/D9779
2022-05-24Drag & drop: Use session UUID of IDs instead of name for droppingJulian Eisel
Dropping would pass the name of the ID to drop to the properties of the drop operator. This would then lookup the ID by name. With linking and/or library overrides, multiple IDs of the same name and type may exist, which is why the session UUID should be used instead. All operators used for dropping support this now and the drop code passes the session UUID instead of the name. Also see 917c096be6b9 and 8f79fa9c6780. Some drop operators were already using the session UUIDs. This converts the remaining ones. The "name" property is kept working as before, since some scripts use this. Side-effect: The "Name" property won't show up in the Adjust Last Operation anymore, which was the case for some of these operators, and its value won't be remembered over multiple executions of the operator. Both were not at all useful from what I can tell, and I doubt this was done intentionally.
2022-05-24Cleanup: Use new helpers for passing IDs from drag & drop to operatorsJulian Eisel
There are now some generalized helpers for passing IDs from drag & drop to operators via operator properties, mostly introduced in 917c096be6b9 and 8f79fa9c6780. These can be used in a bunch of places to reduce duplicated code and explicitly share a common solution. Side-effect: The "Name" property won't show up in the Adjust Last Operation anymore, and its value won't be remembered over multiple executions of the operator. Both were not at all useful from what I can tell, and I doubt this was done intentionally.
2022-05-24Drag & drop: Invert priority of name and session UUID in ID lookupsJulian Eisel
Continuation of 8f79fa9c6780 and 917c096be6b9. The ID's session UUID is now always priotitized over its name to lookup the ID from drop-box or operator properties. bc3dbf109c67 shows what happens if the name happens to be set for whatever reason and the session UUID isn't prioritized.
2022-05-24Merge branch 'blender-v3.2-release'Julian Eisel
2022-05-24Fix possible lingering around of ID after asset dropping failedJulian Eisel
More and more of the drop operations are being switched to use the ID's session UUID rather than the name, but the cleanup after a drop operator was cancelled assumed they would set the name. They will now first attempt to use the session UUID and fallback to the name if needed.
2022-05-24Fix T98185: Assertion saving while fullscreenCampbell Barton
When saving from the menu the region was not set, causing the last region in `area->regionbase` to be used as the region was assigned before comparison.
2022-05-23Merge branch 'blender-v3.2-release'Julian Eisel
2022-05-23Fix further issues when mixing link & append for asset drag & dropJulian Eisel
917c096be6b9 applied to objects only, this also applies the same fix for the general 3D View drop operations, e.g. used for dragging materials, images, worlds, etc. This is needed to fix T95706, but apparently something else is still going on. Needs further investigation.
2022-05-23Cleanup: Move new utilities for ID lookup operator propertiesJulian Eisel
Move them to a more accessible place, so that other operators in different files can use them. The following commit needs this.
2022-05-23Fix "Open Clip" operator in Clip Editor brokenJulian Eisel
Steps to reproduce were: - Open Clip Editor - Call "Open Clip" (e.g. Alt+O) - Select video file The file wouldn't be loaded into the Clip Editor. Caused by 7849b56c3c41.
2022-05-23Fix for crash opening the file selector multiple timesCampbell Barton
This is part of a fix for T88570, where the file selector would crash when activated multiple times. Calling save multiple times would free the operator, leaving a dangling pointer which was used when panels were visible that accessed the "active_operator". Reviewed By: Severin Ref D14905
2022-05-23Fix T88570: Crash when saving after pressing ctrl+S twice.Julian Eisel
Existing code to replace the file operation was failing when done from the window for the file operation itself. Basically, this patch does two things: - Implement a well defined window context to use as the "owner" or "root" of the File Browser. This will be used for managing the File Browser and to execute the file operation, even after the File Browser was closed. - Ensure the context is valid when dealing with file File Browser event handlers. Previously the window context just wasn't well defined and just happened to work well enough in most cases. Addressing this may unveil further issues, see T88570#1355740. Differential Revision: https://developer.blender.org/D13441 Reviewed by: Campbell Barton
2022-05-20WM: return the string length from operator name conversionCampbell Barton
- In some cases it avoids using strlen on the result. - Use ATTR_NONNULL for all arguments. - Remove NULL pointer check for WM_operator_bl_idname src argument. - Rename from/to to src/dst.
2022-05-17Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-17Fix click detection for simulated eventsCampbell Barton
Refactoring event click-drag detection broke click detection for simulated events. Resolve this by sharing logic for update previous values in `wmWindow.eventstate` for regular event handling (no functional changes for non-simulated events). Failure to detect clicks for simulated events broke the undo test `test_undo.view3d_multi_mode_select` in `../lib/tests/ui_simulate/run.py`. All undo tests now pass.