-Fixed BoneAttachment delay, closes #3966
-Fixed skeleton crash, probably fixes other issues
This commit is contained in:
parent
bb47bca1f6
commit
2a6cdfaf91
2 changed files with 6 additions and 2 deletions
|
@ -540,6 +540,7 @@ bool SceneTree::iteration(float p_time) {
|
||||||
_notify_group_pause("fixed_process_internal", Node::NOTIFICATION_INTERNAL_FIXED_PROCESS);
|
_notify_group_pause("fixed_process_internal", Node::NOTIFICATION_INTERNAL_FIXED_PROCESS);
|
||||||
_notify_group_pause("fixed_process", Node::NOTIFICATION_FIXED_PROCESS);
|
_notify_group_pause("fixed_process", Node::NOTIFICATION_FIXED_PROCESS);
|
||||||
_flush_ugc();
|
_flush_ugc();
|
||||||
|
MessageQueue::get_singleton()->flush(); //small little hack
|
||||||
_flush_transform_notifications();
|
_flush_transform_notifications();
|
||||||
call_group_flags(GROUP_CALL_REALTIME, "_viewports", "update_worlds");
|
call_group_flags(GROUP_CALL_REALTIME, "_viewports", "update_worlds");
|
||||||
root_lock--;
|
root_lock--;
|
||||||
|
@ -566,6 +567,8 @@ bool SceneTree::idle(float p_time) {
|
||||||
|
|
||||||
emit_signal("idle_frame");
|
emit_signal("idle_frame");
|
||||||
|
|
||||||
|
MessageQueue::get_singleton()->flush(); //small little hack
|
||||||
|
|
||||||
_flush_transform_notifications();
|
_flush_transform_notifications();
|
||||||
|
|
||||||
_notify_group_pause("idle_process_internal", Node::NOTIFICATION_INTERNAL_PROCESS);
|
_notify_group_pause("idle_process_internal", Node::NOTIFICATION_INTERNAL_PROCESS);
|
||||||
|
@ -581,6 +584,7 @@ bool SceneTree::idle(float p_time) {
|
||||||
}
|
}
|
||||||
|
|
||||||
_flush_ugc();
|
_flush_ugc();
|
||||||
|
MessageQueue::get_singleton()->flush(); //small little hack
|
||||||
_flush_transform_notifications(); //transforms after world update, to avoid unnecessary enter/exit notifications
|
_flush_transform_notifications(); //transforms after world update, to avoid unnecessary enter/exit notifications
|
||||||
call_group_flags(GROUP_CALL_REALTIME, "_viewports", "update_worlds");
|
call_group_flags(GROUP_CALL_REALTIME, "_viewports", "update_worlds");
|
||||||
|
|
||||||
|
|
|
@ -880,13 +880,13 @@ void VisualServerScene::instance_attach_skeleton(RID p_instance, RID p_skeleton)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (instance->skeleton.is_valid()) {
|
if (instance->skeleton.is_valid()) {
|
||||||
VSG::storage->instance_remove_skeleton(p_skeleton, instance);
|
VSG::storage->instance_remove_skeleton(instance->skeleton, instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
instance->skeleton = p_skeleton;
|
instance->skeleton = p_skeleton;
|
||||||
|
|
||||||
if (instance->skeleton.is_valid()) {
|
if (instance->skeleton.is_valid()) {
|
||||||
VSG::storage->instance_add_skeleton(p_skeleton, instance);
|
VSG::storage->instance_add_skeleton(instance->skeleton, instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
_instance_queue_update(instance, true);
|
_instance_queue_update(instance, true);
|
||||||
|
|
Loading…
Reference in a new issue