Merge branch 'blender-v2.82-release'
This commit is contained in:
@@ -799,6 +799,7 @@ GHOST_TSuccess GHOST_WindowCocoa::setOrder(GHOST_TWindowOrder order)
|
|||||||
|
|
||||||
GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::setOrder(): window invalid");
|
GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::setOrder(): window invalid");
|
||||||
if (order == GHOST_kWindowOrderTop) {
|
if (order == GHOST_kWindowOrderTop) {
|
||||||
|
[NSApp activateIgnoringOtherApps:YES];
|
||||||
[m_window makeKeyAndOrderFront:nil];
|
[m_window makeKeyAndOrderFront:nil];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
#include "mikktspace.h"
|
#include "mikktspace.h"
|
||||||
|
|
||||||
@@ -135,6 +136,17 @@ MIKK_INLINE tbool VNotZero(const SVec3 v)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Shift operations in C are only defined for shift values which are
|
||||||
|
// not negative and smaller than sizeof(value) * CHAR_BIT.
|
||||||
|
// The mask, used with bitwise-and (&), prevents undefined behaviour
|
||||||
|
// when the shift count is 0 or >= the width of unsigned int.
|
||||||
|
MIKK_INLINE unsigned int rotl(unsigned int value, unsigned int count)
|
||||||
|
{
|
||||||
|
const unsigned int mask = CHAR_BIT * sizeof(value) - 1;
|
||||||
|
count &= mask;
|
||||||
|
return (value << count) | (value >> (-count & mask));
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int iNrFaces;
|
int iNrFaces;
|
||||||
int *pTriMembers;
|
int *pTriMembers;
|
||||||
@@ -1605,7 +1617,7 @@ static void QuickSortEdges(
|
|||||||
|
|
||||||
// Random
|
// Random
|
||||||
t = uSeed & 31;
|
t = uSeed & 31;
|
||||||
t = (uSeed << t) | (uSeed >> (32 - t));
|
t = rotl(uSeed, t);
|
||||||
uSeed = uSeed + t + 3;
|
uSeed = uSeed + t + 3;
|
||||||
// Random end
|
// Random end
|
||||||
|
|
||||||
|
@@ -486,7 +486,10 @@ def is_path_builtin(path):
|
|||||||
):
|
):
|
||||||
return True
|
return True
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
#The path we tried to look up doesn't exist
|
# The path we tried to look up doesn't exist.
|
||||||
|
pass
|
||||||
|
except ValueError:
|
||||||
|
# Happens on Windows when paths don't have the same drive.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
@@ -102,6 +102,16 @@ static BMO_FlagSet bmo_enum_axis_xyz[] = {
|
|||||||
{0, NULL},
|
{0, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static BMO_FlagSet bmo_enum_axis_neg_xyz_and_xyz[] = {
|
||||||
|
{0, "-X"},
|
||||||
|
{1, "-Y"},
|
||||||
|
{2, "-Z"},
|
||||||
|
{3, "X"},
|
||||||
|
{4, "Y"},
|
||||||
|
{5, "Z"},
|
||||||
|
{0, NULL},
|
||||||
|
};
|
||||||
|
|
||||||
static BMO_FlagSet bmo_enum_falloff_type[] = {
|
static BMO_FlagSet bmo_enum_falloff_type[] = {
|
||||||
{SUBD_FALLOFF_SMOOTH, "SMOOTH"},
|
{SUBD_FALLOFF_SMOOTH, "SMOOTH"},
|
||||||
{SUBD_FALLOFF_SPHERE, "SPHERE"},
|
{SUBD_FALLOFF_SPHERE, "SPHERE"},
|
||||||
@@ -2046,7 +2056,7 @@ static BMOpDefine bmo_symmetrize_def = {
|
|||||||
"symmetrize",
|
"symmetrize",
|
||||||
/* slots_in */
|
/* slots_in */
|
||||||
{{"input", BMO_OP_SLOT_ELEMENT_BUF, {BM_VERT | BM_EDGE | BM_FACE}},
|
{{"input", BMO_OP_SLOT_ELEMENT_BUF, {BM_VERT | BM_EDGE | BM_FACE}},
|
||||||
{"direction", BMO_OP_SLOT_INT, {(int)BMO_OP_SLOT_SUBTYPE_INT_ENUM}, bmo_enum_axis_xyz}, /* axis to use */
|
{"direction", BMO_OP_SLOT_INT, {(int)BMO_OP_SLOT_SUBTYPE_INT_ENUM}, bmo_enum_axis_neg_xyz_and_xyz}, /* axis to use */
|
||||||
{"dist", BMO_OP_SLOT_FLT}, /* minimum distance */
|
{"dist", BMO_OP_SLOT_FLT}, /* minimum distance */
|
||||||
{{'\0'}},
|
{{'\0'}},
|
||||||
},
|
},
|
||||||
|
@@ -164,6 +164,9 @@ static bool particle_skip(ParticleInstanceModifierData *pimd, ParticleSystem *ps
|
|||||||
if (pa->alive == PARS_DEAD && (pimd->flag & eParticleInstanceFlag_Dead) == 0) {
|
if (pa->alive == PARS_DEAD && (pimd->flag & eParticleInstanceFlag_Dead) == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (pa->flag & (PARS_UNEXIST | PARS_NO_DISP)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pimd->particle_amount == 1.0f) {
|
if (pimd->particle_amount == 1.0f) {
|
||||||
|
@@ -395,6 +395,7 @@ void wm_quit_with_optional_confirmation_prompt(bContext *C, wmWindow *win)
|
|||||||
|
|
||||||
if (U.uiflag & USER_SAVE_PROMPT) {
|
if (U.uiflag & USER_SAVE_PROMPT) {
|
||||||
if (wm_file_or_image_is_modified(C) && !G.background) {
|
if (wm_file_or_image_is_modified(C) && !G.background) {
|
||||||
|
wm_window_raise(win);
|
||||||
wm_confirm_quit(C);
|
wm_confirm_quit(C);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Reference in New Issue
Block a user