Age | Commit message (Collapse) | Author |
|
Resolves T62612
|
|
User counting now happens before init() and after free() methods, so that
the ID users are in a valid state when Python might modify them. ID user
counting was moved into node.c and simplified.
Patch by Miguel with further refactoring by Brecht. Ref D4370.
|
|
Tools that come with Blender use 'builtin' or 'builtin_brush' prefix.
|
|
Prepare for exposing tool registration to the Python API.
- Generated tools can use their own prefix so naming collisions
won't happen between hard coded & generated tools.
- Add-on authors can use the add-on name as a prefix.
Currently the names match, renaming will happen next.
|
|
Use a name that related to block bounds calculation
(mx/my are typically used for mouse x,y).
|
|
GHOST event handling does not need a window in the context, and restoring
it to the previous value is problematic if the window was deleted in the
meantime.
|
|
|
|
|
|
Model keymaps wasn't matching double-click events with press
as is done in regular keymap handling.
|
|
Convention was not to but after discussion on 918941483f7e we agree its
best to change the convention.
Names now mostly follow RNA.
Some exceptions:
- Use 'nodetrees' instead of 'nodegroups'
since the struct is called NodeTree.
- Use 'gpencils' instead of 'grease_pencil'
since 'gpencil' is a common abbreviation in the C code.
Other exceptions:
- Leave 'wm' as it's a list of one.
- Leave 'ipo' as is for versioning.
|
|
Re-create gizmos when changing theme colors, since
theme colors don't change often this allows gizmos to setup their
colors on initialization.
|
|
|
|
Evaluate the dependency graph a bit later still. This kind of worked before
because it was using the drive namespace from the previously loaded .blend
file but that's of course wrong.
|
|
We already have different storages for cddata of verts, edges etc.,
'simply' do the same for the mask flags we use all around Blender code
to request some data, or limit some operation to some layers, etc.
Reason we need this is that some cddata types (like Normals) are
actually shared between verts/polys/loops, and we don’t want to generate
clnors everytime we request vnors!
As a side note, this also does final fix to T59338, which was the
trigger for this patch (need to request computed loop normals for
another mesh than evaluated one).
Reviewers: brecht, campbellbarton, sergey
Differential Revision: https://developer.blender.org/D4407
|
|
This was changed (accidentally?) in d192d723123a, now go back to behavior more
similar to 2.7. Python scripts should be able to set up drivers or do other
changes that will then be taken into account when evaluating the scene for the
first time.
The more tricky thing is that Python scripts now run before ED_editors_init,
but given what happens in there it seems safe.
|
|
This applies changes from the 3D view circle select to other operators.
|
|
- paintcurves were hitting an assert in outliner_add_element()
- missing outliner update when adding a paintcurve
- paintcurves were not showing an icon [they dont have a dedicated icon,
took the one used elsewhere]
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4445
|
|
spotted by @miclack, thx!
|
|
Needed for circle select to replace the current selection.
|
|
Previously a modifier key-map type only worked when the same key was
enabled as a modifier as well.
This allows for users to assign an action to double-tap-shift for eg.
|
|
Also no need to map the event type for inactive keys.
|
|
Eventually this should be used to prompt when loading a new file too.
|
|
Remove confirmation popup menu, just exit.
Note that this option is mainly for developers or people reviewing
blend files, see D4406 for discussion on reason for keeping this feature
while simplifying how it works.
|
|
Rename latt to lattice and don't use plural names.
|
|
- BKE_lamp -> BKE_light
- Main.lamp -> light
|
|
|
|
Quiet undeclared variable warning.
|
|
When the line width was larger than the UI scale, there was not enough
space for thicker widget outlines to draw properly. Now widgets are made
a little larger to accommodate the thicker outlines.
Differential Revision: https://developer.blender.org/D4368
|
|
* Two cursors for horizontal and vertical split.
* Four cursors for each join direction.
* One cursor to indicate when splitting is not possible.
Differential Revision: https://developer.blender.org/D4264
|
|
Don't disable the save over popup through the keymap, just remove it entirely
from the code so that the file browser interprets the property correctly.
|
|
Now there are two callbacks, the name 'keymap_callback' is too vague.
|
|
Add getter callback support for 'WM_HANDLER_TYPE_KEYMAP' type handlers
this is needed for key-maps which change based on the active tool.
Replaces 'sneaky_handler' hack which temporarily inserted a handler.
|
|
Avoids having type specific handler names.
|
|
Each handler type now has it's own block (fileselect was an exception).
|
|
Makes it more clear it's the header/start of the struct.
|
|
|
|
Do not instance linked object immediately in scene, this was never a
good idea and is doomed to fail nowadays, with complex relations between
objects, collections and scenes.
Instead, this commit refactors a bit linking code to add loose objects
to current scene *after* everything has been imported, and ID pointers
have been properly remapped to new ones - i.e. once new linked data is
supposed to be fully valid, just like we were already doing with
collections.
As a bonus, it means we do not have to pass around scene, view3d etc. to
`BLO_library_link_named_part_ex()` and co.
|
|
Was caused by the wrong de-initialization order, here is
an ASAN log just in case P916.
|
|
Viewport and scissor were never initialized prior to
window move/resize.
|
|
|
|
|
|
Illuminate dead code, using wmEventHandler_KeymapFn from gizmo handler
type where it was never set.
|
|
|
|
|
|
|
|
|
|
Currently it's effectively a boolean for file-select handlers.
Prepare for refactoring event handlers into their own types (keymap,
operator, gizmo, ui & dropbox) to help make logic easier to follow.
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
|
|
Tools were relying on gizmos drawing to initialize their gizmos,
now tool gizmos are initialized immediately.
|