Age | Commit message (Collapse) | Author |
|
|
|
Wrong assert introduced in {rBad63d2f60e24}, added comment in code
explaining why NULL RNA pointer is a valid value to be skipped here.
|
|
|
|
|
|
Use range based for loops, spans, references, and slice.
Change split from D14685, in order to simplify refactor
to the mesh hide masks.
|
|
Simplifies refactoring in D14685, allows use of better data structures.
|
|
Headers should only include other headers when absolutely necessary,
to avoid unnecessary dependencies and increasing compile times.
To make this change simpler, three DerivedMesh functions with a single
use were removed.
|
|
|
|
|
|
|
|
Mostly changes split from D14685, which refactors the hide flags.
|
|
This is often needed and somehow cumbersome to set up. This will allow some
code simplifications.
|
|
|
|
This simplifies some refactoring to mesh hide flags (see D14685).
|
|
|
|
|
|
BMLog was zeroing face sets when creating new faces,
which is not valid. They're now set to 1.
|
|
|
|
We really need to fix how unprojected radius (scene unit) works.
What happened is the paint code updates the brush's normal radius
with the current unprojected pixel radius, which was then
used by texture brush tiled mode.
To fix this I just cached the pixel radius at stroke start in
UnifiedPaintSettings->start_pixel_radius.
|
|
|
|
Similar to cf69652618fefcd22b2cde9a2.
|
|
|
|
|
|
This fixes the smooth tolerance feature in master where sometimes you could
get over simplified chains and lose the shape it's supposed to be originally.
Reviewed By: Sebastian Parborg (zeddb)
Differential Revision: https://developer.blender.org/D14929
|
|
|
|
Knowing when layers are retrieved for write access will be essential
when adding proper copy-on-write support. This commit makes that
clearer by adding `const` where the retrieved data is not modified.
Ref T95842
|
|
|
|
excluded get instanced into Current Scene.
This was due to using `BKE_scene_has_object` function, which uses the
cache of bases of the viewlayers, which do not have entries for the
content of excluded collections... Now use
`BKE_collection_has_object_recursive` instead.
|
|
This patch get rid of the _incorrectly used_ DG iterator in object loading,
and uses scene objects iteration to prevent problems.
Reviewed By: Sebastian Parborg (zeddb)
Differential Revision: https://developer.blender.org/D14907
|
|
The button returned from `UI_region_active_but_get()` is not guaranteed
to have active button data, so code can't rely on that.
|
|
Steps to reproduce were:
- Factory startup
- Right-click in 3D View
- Move the mouse over "Shade Flat", wait for the tooltip
The changed logic in 4680331749aa to lookup an active button was
incorrect. It didn't respect the priority of active button candidates.
|
|
* Respect the image file color space setitng for saving in various cases where
it was previously ignored. Previously it would often use the sRGB or Linear
color space even when not selected.
* For the Save As operator, add a Color Space option in the file browser to
choose the color space of the file. Previously this was chosen automatically,
now it's possible to e.g. resave a Linear image as Linear ACES.
* When changing the file format, the colorspace is automatically changed to an
appropriate color space for the file format. This already happened before, but
there was no visibility or control in the operator settings for this.
* Don't change color space when using the Save operator to save over the same
file.
* Fix missing color space conversion for 16 bit PNGs, where it assumed wrongly
assumed ibuf->rect would be used for saving. Add BKE_image_format_is_byte to
more accurately test this.
Fixes T74610
Ref T68926
Differential Revision: https://developer.blender.org/D14899
|
|
float3 should have been declared within the blender namespace. And forward
declaration is difficult with templated classes so just include header.
|
|
Issue is that the operator acts on the active button, and also uses that in the
poll. So the actually active button would affect the poll of a different
button. For the superimposed icons we need to be able to execute these polls
properly for non-active buttons.
This enables temporarily overriding the active button for lookups via context.
While a bit of a hack it makes sense conceptually.
Reviewed By: Campbell Barton
Maniphest Tasks: T97518
Differential Revision: https://developer.blender.org/D14880
|
|
The button returned from `UI_region_active_but_get()` is not guaranteed
to have active button data, so code can't rely on that.
|
|
Steps to reproduce were:
- Factory startup
- Right-click in 3D View
- Move the mouse over "Shade Flat", wait for the tooltip
The changed logic in 4680331749aa to lookup an active button was
incorrect. It didn't respect the priority of active button candidates.
|
|
|
|
|
|
Unlikely that users will notice this, but this makes it so that
the operator behaves consistently across its exec() and invoke()
code paths.
|
|
Currently no functional changes. Prepares for a change which will
allow to more consistently redo the track selection operator.
|
|
Issue is that the operator acts on the active button, and also uses that in the
poll. So the actually active button would affect the poll of a different
button. For the superimposed icons we need to be able to execute these polls
properly for non-active buttons.
This enables temporarily overriding the active button for lookups via context.
While a bit of a hack it makes sense conceptually.
Reviewed By: Campbell Barton
Maniphest Tasks: T97518
Differential Revision: https://developer.blender.org/D14880
|
|
|
|
Regression caused by [0] which made `ui_but_is_interactive` consider
label buttons with tool-tips to be interactive. This prevented
the clicks to pass through to the nodes for selecting/dragging.
Resolve this by allowing buttons to be activated for the purpose
of showing tool-tips but otherwise considering them disabled
(as if the UI_BUT_DISABLED is set when handling events).
[0]: 484a9146479e05946d291e9886cdf3febca6d05d
Reviewed By: Severin
Ref D14932
|
|
As a side effect the "sticky" search area on resize/move is also
resolved now: previously attempt to move search area past to where
it could be would make it hard to move it back. Now the search area
will always respond immediately to mouse motion, even after it got
clamped.
|
|
The code was there prior pattern area affine transform and was never
used afterwards.
After so long time it should be safe to remove the unused code.
|
|
|
|
Related to the partial revert done for T97272. It seems also that the
workaround should be enabled for any MACOS platform.
|
|
|
|
The shortcut is G-G.
Caused by loop argument "shadowing".
|
|
|