blender-v3.6-release backports #112708

Merged
Philipp Oeser merged 4 commits from lichtwerk/blender:blender-v3.6-release into blender-v3.6-release 2023-09-22 10:59:45 +02:00
4 changed files with 11 additions and 8 deletions

View File

@ -731,13 +731,13 @@ static GeometrySet curve_calc_modifiers_post(Depsgraph *depsgraph,
continue;
}
blender::bke::ScopedModifierTimer modifier_timer{*md};
if (md->type == eModifierType_Nodes) {
mti->modifyGeometrySet(md, &mectx_apply, &geometry_set);
continue;
}
blender::bke::ScopedModifierTimer modifier_timer{*md};
if (!geometry_set.has_mesh()) {
geometry_set.replace_mesh(BKE_mesh_new_nomain(0, 0, 0, 0));
}

View File

@ -46,6 +46,7 @@
#include "ED_transform_snap_object_context.h"
#include "ED_undo.h"
#include "ED_view3d.h"
#include "ED_outliner.h"
#include "WM_toolsystem.h"
@ -475,6 +476,8 @@ static bool object_transfer_mode_to_base(bContext *C, wmOperator *op, Base *base
}
WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
ED_outliner_select_sync_from_object_tag(C);
WM_toolsystem_update_from_context_view3d(C);
mode_transferred = true;
}

View File

@ -3183,7 +3183,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op)
static bool keyframe_jump_poll(bContext *C)
{
/* There is a keyframe jump operator specifically for the Graph Editor. */
return ED_operator_screenactive_norender(C) && ED_operator_graphedit_active(C);
return ED_operator_screenactive_norender(C) && !ED_operator_graphedit_active(C);
}
static void SCREEN_OT_keyframe_jump(wmOperatorType *ot)

View File

@ -216,12 +216,12 @@ bool python_script_error_jump(
else {
PyErr_NormalizeException(&exception, &value, (PyObject **)&tb);
for (tb = (PyTracebackObject *)PySys_GetObject("last_traceback");
tb && (PyObject *)tb != Py_None;
tb = tb->tb_next)
for (PyTracebackObject *tb_iter = (PyTracebackObject *)PySys_GetObject("last_traceback");
tb_iter && (PyObject *)tb_iter != Py_None;
tb_iter = tb_iter->tb_next)
{
PyObject *coerce;
const char *tb_filepath = traceback_filepath(tb, &coerce);
const char *tb_filepath = traceback_filepath(tb_iter, &coerce);
const int match = ((BLI_path_cmp(tb_filepath, filepath) == 0) ||
(ELEM(tb_filepath[0], '\\', '/') &&
BLI_path_cmp(tb_filepath + 1, filepath) == 0));
@ -229,7 +229,7 @@ bool python_script_error_jump(
if (match) {
success = true;
*r_lineno = *r_lineno_end = tb->tb_lineno;
*r_lineno = *r_lineno_end = tb_iter->tb_lineno;
/* used to break here, but better find the inner most line */
}
}