Age | Commit message (Collapse) | Author |
|
This is no longer needed for MSVC-2017.
|
|
While this happened to be corrected by code that runs afterwards,
leaving this in an invalid state could cause problems in the future.
|
|
Also correct typo.
|
|
|
|
|
|
|
|
Nodes: Add Attribute Remove Node D10697
|
|
This patch adds a node, that removes an attribute if possible,
otherwise it adds an error message.
Differential Revision: https://developer.blender.org/D10697
|
|
|
|
|
|
|
|
This patch fixes a visual bug related to connecting an output socket to
a Multi-Input Socket, that already has a link to that same output.
In this case, the drag link got a new index and snapped to a new
position. This path makes the drag link snap to the same position as the
first link between the two sockets.
Differential Revision: https://developer.blender.org/D10689
|
|
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.
|
|
No functional changes.
|
|
This limitation was necessary in older versions, but now can be removed.
|
|
|
|
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.
|
|
Steps to reproduce were:
* Open an Asset Browser
* "Mark Asset" on some data-block
* Change the Asset Browser into a different editor (not File Browser!)
* "Clear Asset" on the data-block again, or mark another asset
* Change back to the Asset Browser, it will show an outdated list
Now the file-browser reloads local file data after spaces were changed. Note
that the current notifier code doesn't limit the space-change notifiers to the
affected spaces, so changing any visible space will trigger this. That's an
issue to be fixed separately.
|
|
In some situations the strokes could be tagged before filling, so it's necessary to reset before.
|
|
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.
|
|
|
|
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
|
|
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.
|
|
Currently file loading performs almost all reloading logic
even in the case loading the file fails, causing the file to be in
a state that isn't well defined: undo is cleared, timers are canceled &
scripts are re-registered.
|
|
- Don't set G.relbase_valid until the file is loaded.
- Remove unnecessary string pointer comparison.
- Remove unused filename being passed to 'setup_app_data'.
|
|
Part of T83811 & D10649.
|
|
`BKE_lib_override_library_main_resync` uses
`LIB_TAG_LIB_OVERRIDE_NEED_RESYNC` tags set by RNA override apply code,
and perform detection for the remaining cases (those were new overrides
need to be created for data that was not present before in the library).
And then it actually resync all needed local overrides.
Part of T83811 & D10649.
|
|
We can fairly easily detect some resync-needed cases when applying the
overrides operations on a Pointer RNA property.
This should cover all cases where an existing override's ID pointer is
changed in its linked data.
We still have to add code to detect when a not-yet-overridden linked ID
needs to become overridden (because its relations to other data-blocks
changed in a way that requires it).
Part of T83811 & D10649.
|
|
user-edited.
Ultimately those will be listed with a special icon in the upcomming
Outliner overrides view.
Part of T83811 & D10649.
|
|
Part of T83811 & D10649.
|
|
Explains how we can get rid of implicit assumptions and `void *`
arguments/storage in the future.
|
|
Rather than letting the `TreeElementAnimData` constructor take an ID from which
we get the animation-data based on an assumption on how it's stored, let the
constructor take the animation-data directly. That way we further centralize
the assumptions on the data passed to the element creation to
`tree_element_create()`.
The following commit will add a comment explaining the plan to entirely get rid
of those assumptions in the future.
|
|
Now the behavior is the same as in the properties editor, as far as I can tell.
|
|
There was an implicit assumption that tree element types using the new code
design set their name on creation. Use an assert to make this explicit. See
f59ff9e03a633, which was an error because of this broken assumption.
|
|
Caused by 2e221de4ceee in combination with 4292bb060d59.
In the former I forgot to set the name for NLA actions in the new code design,
in the latter I made it an assumtion that tree element types using the new
design set the name.
The following commit will make this assumption explicit with an assert.
|
|
When loading a file with an asset browser open, and it showed a custom asset
library that can't be found currently (e.g. because the file is from somebody
else), the `BLI_assert(0)` in `rna_FileAssetSelectParams_asset_library_get()`
would fail.
There was code to handle this case already, but unlike I thought it didn't run
right after file read. Now it does.
|
|
Typos from a509e79a4c77. Looks like issues with an automated cleanup tool.
|
|
Ref T86135.
Differential Revision: https://developer.blender.org/D10681
|
|
Differential Revision: https://developer.blender.org/D10683
|
|
The multi-input-socket cannot be connected to the same socket twice currently.
However, it is still possible to achieve this using an intermediate reroute node.
In this case the origin socket should be listed twice in the `linked_sockets_` list.
Higher level functions can still deduplicate the list of they want.
|
|
This commit adds an operator to the RMB-menu "Copy Full Data Path“,
to copy the full RNA path to the clipboard. It aims to complement
"Copy Data Path“, which only copies the part of the path that is needed
for drivers, but for writing addons, etc. it is useful to have an option that
gives the full data path.
Similar patch have been submitted before, see D763 and D2746
This time I did not split the operator (as D2746) and does not contain the UI reorganization (as D763)
Note, the fixes from D2746 were committed in rB09eac0159db8 so that patch can be closed.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D10539
|
|
Caused by own rBcf2933c38a34 which changed the poll on this node to be
"shading-only", but this one is actually supported.
|
|
|
|
|
|
|
|
This makes the hit delta threshold dependant on the ray angle.
If the ray is more aligned with the view, its intersection
threshold gets bigger to avoid going through geometry.
This improves reflections and fix T86448 refraction issue.
|
|
|
|
This was cause by a division by 0 if the ray direction had no
depth difference. Adding a small epsilon fix the issue.
|
|
We now have a new buffer to output reflection depth. This buffer is
only usefull for non planar SSR but we use it to tag the planar rays.
This also touch the raytrace algo for planars to avoid degenerate
lines on vert sharp reflections.
|
|
|