Age | Commit message (Collapse) | Author |
|
|
|
unity launches blender in background mode to do some
file conversions, ever since the launcher got introduced
this process broke.
The root cause here is: Unity looks up the default program
to launch .blend files with, which is now the launcher, then
launches it in background mode with a script to export the data.
The launcher however was designed to exit as quickly as
possible so there would not be an extra background process
lingering. It does not wait for blender to exit and does not
pass back any error codes.
This broke unity's workflow since it assumed if the process
exits and succeeds the data *must* be ready for reading which
no longer holds true.
This change keeps the launcher design as was previously,
*except* when launching in background mode, then it
waits and passes back any error codes, thus restoring
unity's workflow.
Differential Revision: https://developer.blender.org/D13894
Reviewed by: LazyDodo, Brecht
|
|
This tags all meshes from the future 3.1 version dirty,
since normals aren't "implicitly" read as part of `MVert`
anymore after rBcfa53e0fbeed7178.
Differential Revision: https://developer.blender.org/D13856
|
|
read_color and read_depth
The buffer passed as an argument to `GPUFrameBuffer.read_color` is used
in the return of the function and therefore, if not used, its refcount is
decremented.
So be sure to increment the refcount of the already existing objects that
will be used in the return of a function.
|
|
In normal conditions, `gpf` always has a value, but better move inside the NULL checking.
|
|
For boolean operations only one of the meshes was checked to determine
if bevel weights should be created.
Now initialize custom data from both meshes flag.
Note that this is a localized fix to be back-ported, further changes
will be made so edit-mode conversion accounts for this
without the caller needing explicit checks for custom-data flags.
|
|
Needs more TBB task isolation, as even freeing an OpenVDB grid uses
multithreading.
|
|
Only the fix part of rBf2fb9a0c59a applied (P2726).
|
|
Caused by rBa5c59fb90ef9.
Since Group Input and Output sockets happen to be of type `SOCK_CUSTOM`
[and since rBa5c59fb90ef9 custom py defined sockets are too :)] a check
introduced in rB513066e8ad6f that prevents connections for `SOCK_CUSTOM`
triggered.
Now refine the check, so it specifically looks for NODE_GROUP_INPUT /
NODE_GROUP_OUTPUT, too (this keeps the intention intact to not connect
group inputs to group outputs and vice versa, but allows custom py
defined sockets to connect again) and put it in new utility function.
Maniphest Tasks: T94827
Differential Revision: https://developer.blender.org/D13817
|
|
A coding mistake allows default crease to override object crease, now fixed.
|
|
When paste new frames, the datablock need to be tagged to update the drawings.
|
|
When a new frame is created, ensure the keytype of source key is used.
|
|
|
|
The fundamental limitation is that we can only have one instance
("dupli") generator at a time. Because the mesh output of a curve
object is output as an instances, the geometry set instances existed,
replacing the object as font instances. The "fix" is to reverse the
order. The behavior won't be perfect still, but at least the old
behavior will be preserved, which is really what matters for a
feature like this.
One way to take this change further would be completely disabling
regular geometry evaluation while this option is active. However,
it doesn't seem like that would actually improve the state of the code.
Differential Revision: https://developer.blender.org/D13768
|
|
There was a clamp with a value greater than 0.
|
|
Issue introduced in rB1d49293b80446b89b5b12fa0eeefaf14e5051e48
`drw_manager_init` must be called after `drw_context_state_init` as
`DST.draw_ctx.sh_cfg` (indicating when the view is clipped) must be set
first.
Differential Revision: https://developer.blender.org/D13795
|
|
The argument passed is always false.
|
|
The default snap behavior to perform on tools and cursors is to the
final geometry and not edited geometry.
In snapping to edited geometry, there are some specific behaviors that
are not convenient in some cases. For example the general occlusion
test of X-Ray geometries during dragdrop.
This fix also resolves a regression for tools like measure and placement
that were also ignoring the snap to face in x-ray mode.
Differential Revision: https://developer.blender.org/D13410
|
|
rBd6891d9bee2b introduced a way to apply a single constraint from the
constraint stack. For this we want to work in the evaluated domain, in
particular the constraint target should be evaluated (the shrinkwrap
constraint needs to have access to the target's evaluated mesh).
Thx a lot to @sergey for handholding here!
Maniphest Tasks: T94600
Differential Revision: https://developer.blender.org/D13765
|
|
Fix an error if "File Preview Type" is "Auto" and there is no screen.
See D13574 for details.
Differential Revision: https://developer.blender.org/D13574
Reviewed by Julian Eisel
|
|
Regression in 7972785d7b90771f50534fe3e1101d8adb615fa3 that caused
Python callback arguments to be de-referenced twice - potentially
accessing freed memory. Making a new-file with a circle-select
tool active triggered this (for example).
Now arguments aren't de-referenced when Blender it's self has already
removed the callback handle.
|
|
Calculating min and max orthographic extent forgot to convert to
worldspace coordinates.
|
|
An important check to reject edge linehits when a vertex of that edge
was already hit was accidentally removed in
rB6e77afe6ec7b6a73f218f1fef264758abcbc778a
|
|
|
|
When tiled rendering was used the render result was
allocated at the end of every view layer render as
opposite of an intended end of all rendering.
Modify the render_result_end so that it only ensures
pixels are allocated if pixels are actually copied
over.
|
|
Delay grease pencil for until after the render result is written
to the Blender side.
Differential Revision: https://developer.blender.org/D13740
|
|
The problem was the stroke was added to head and the `prev` pointer was NULL. Now check if there is the list is empty`next`.
|
|
Regression introduced in rB098008f42d8127d9b60717c7059d3c55a3bfada7
Previously the selected geometry was ignored along with the hidden one.
The mentioned commit caused neither the hidden nor the selected one to be ignored.
But hidden geometry needs to be ignored.
|
|
Handles rare cases where line doesn't intersect the triangle correctly.
|
|
The logic used to be:
"if collection doesn't have child collection, check if ob is from this one"
The correct logic should be:
"if collection child does not have this ob, then check this collection".
|
|
When the material is used in several objects, the filter by material is not working as expected because the internal pointers are different due eval version.
Now, the original version of the material is compared to keep same address.
|
|
Bug: Set Origin causes unexpected offset on Grease Pencil strokes when Curve Editing is enabled.
Fix: Add transformation of editcurve points in `object_origin_set_exec`.
Reviewed By: #grease_pencil, antoniov
Maniphest Tasks: T93134
Differential Revision: https://developer.blender.org/D13273
|
|
Before the negative scales produced a thickness invalid. Now, the value is used in absolute value to avoid this situation.
|
|
This was caused by a mistake in eb0eb54d9644c5139, which removed
the clearing of the curve edit mode pointers that are set when creating
the temporary data for the conversion. If they are not cleared, the
generic ID free function will also free the edit mode data, which is
wrong when the source curve is in edit mode.
|
|
The calculation to find the factor between two evaluated points assumed
that the points were not at the same location. This assumption is some-
what reasonable, since we might expect `lower_bound` to skip those
point anyway. However, the report found a case where the first two
evaluated points were coincident, and there is no strong reason not
to make this safe, so add a check for 0 length before the division.
|
|
Add Error checking to `do_view3d_header_buttons` so that it does
not crash if area->win does not exist because it has been closed.
Note this is a temporary simple fix that will be replaced by D13660.
---
Selecting "Close Area" from the 3DView View / Area menu will crash when `do_view3d_header_buttons` is called afterward even though the area has closed. It gets a NULL result from CTX_wm_window(C) and dies. This patch just adds a check for this being NULL and exits out in this case.
`uiTemplateEditModeSelection` is a bit dodgy adding `do_view3d_header_buttons` as a handler for the entire uiBlock. This patch is meant to be a simple and temporary solution in 3.01, replaced later by {D13660} which fixes this area by using an operator instead.
|
|
Caused by {rBfba9cd019f21f29bad1a6f3713370c5172dbc97f}.
The snap timer was accidentally modified and damaged.
|
|
The cast to size_t leads to a build issue on 32
bit archs. cursor_delim_type_utf8 expects an int
so an additional cast to size_t is not required.
Reported by user frispete on devtalk.
|
|
Caused by {rBb0d9e6797fb8}
For the header (both Graph Editor case in general `headerTranslation` as
well as `headerTimeTranslate`) we are interested in deltas values
(not absolute values).
Since culprit commit, `snapFrameTransform` was not working with deltas
anymore, but we have to compensate for this.
For the Graph Editor, this only worked "by accident" in rB7192e57d63a5,
since `ival` is still zero at this point.
So now, reacquire the delta right after the snap operation.
Also use a more appropriate center value in the translate operator.
Maniphest Tasks: T94191
Differential Revision: https://developer.blender.org/D13641
|
|
This happens because in `SEQ_time_update_sequence` function
`SEQ_get_meta_by_seqbase` returns uninitialized value. This isn't nice,
but it shouldn't happen in first place. Problem is, that
`SEQ_edit_strip_split` does move strips into detached `ListBase`, so
other functions can't see them anymore. Detached `ListBase` is used
solely to preserve relationships during duplication.
Move strips to original `ListBase` immediately after duplication and
return `NULL` if `SEQ_get_meta_by_seqbase` can't find meta strip.
Splitting itself can still rely on fact, that number of original and
duplicated strips is same and they are placed next to each other in
exactly same order at the end of original `ListBase`.
|
|
Caused by `NULL` dereference in `SEQ_meta_stack_active_get()`.
Check if `Editing` is `NULL` before accessing meta stack.
|
|
In the context of the dragdrop tooltip, the event referenced to the window
is out of date and contains invalid `mval` values.
Avoid using `win->eventstate` as much as possible.
|
|
Operator was erroneously starting edge_slide operation.
Revert part of the changes in rB3fab16fe8eb4 as obedit_type was being
confused with object_mode.
|
|
When selecting the current undo step there is no need to do anything.
Fix and minor refactor to de-duplicate refreshing after running
undo/redo & undo history.
|
|
Fix own mistake in rB7061d1e39fe
In my attempt to quickly address T92838, along with the original bug, I
made a nonsensical choice to use the limiter lock to guard the check
against the cache item itself. While harmless, it is not necessary and
semantically wrong / potentially confusing to future readers of the code.
Differential Revision: https://developer.blender.org/D13122
|
|
A recent change exposed this long-standing race. Simply protect the
MEM_CacheLimiter with its lock now. Additionally, guard against
unmanaging an already destroyed cache handle.
Ref T92740, T92838
|
|
This is basically the same as rBee4ed99866fbb7ab04, the fix is
simply to check if the spline has evaluated points when deciding
the offsets into the result points array.
|
|
bda9e4238a07a72c26598ea9025e00f6ca896750 changed smooth-view
not to redraw when there were no changes made.
Redrawing is needed for repositioning the cursor.
Subscribe to changes to the 3d cursor to ensure all view ports
are updated (not just the current one).
|
|
This broke "test_undo.view3d_multi_mode_select" test in
"lib/tests/ui_simulate" and is likely exposed by recent changes to
bounding box calculation.
The missing check for DL_INDEX4 dates back to code from 2002 which
intended to check this but was checking for DL_INDEX3 twice
which got removed as part of a cleaned up.
This could be hidden from memory checking tools as meta-balls
over-allocate vertex arrays.
|
|
Dead-lock when VR viewport drawing and depsgraph updates would fight for
the draw-manager GL lock. This didn't usually cause issues because the
depsgraph would be evaluated at this point already, except in rare
exceptions like after file writing.
Fix this by ensuring the XR surface gets its depsgraph updated after
handling notifiers, which is where regular windows also do the depsgraph
updating.
|