Fixes transform gizmo position when node has default transform

Changes made:
* Added dirty bit for SpatialEditorSelectedItem's last_xform
* SpatialEditorViewport checks that dirt bit too before skipping the selection
This commit is contained in:
simpuid 2020-03-19 12:13:25 +05:30
parent cf50ee4fa4
commit 19825436d4
2 changed files with 7 additions and 2 deletions

View File

@ -2419,9 +2419,10 @@ void SpatialEditorViewport::_notification(int p_what) {
Transform t = sp->get_global_gizmo_transform(); Transform t = sp->get_global_gizmo_transform();
exist = true; exist = true;
if (se->last_xform == t) if (se->last_xform == t && !se->last_xform_dirty)
continue; continue;
changed = true; changed = true;
se->last_xform_dirty = false;
se->last_xform = t; se->last_xform = t;
VisualInstance *vi = Object::cast_to<VisualInstance>(sp); VisualInstance *vi = Object::cast_to<VisualInstance>(sp);

View File

@ -482,10 +482,14 @@ public:
Transform original; // original location when moving Transform original; // original location when moving
Transform original_local; Transform original_local;
Transform last_xform; // last transform Transform last_xform; // last transform
bool last_xform_dirty;
Spatial *sp; Spatial *sp;
RID sbox_instance; RID sbox_instance;
SpatialEditorSelectedItem() { sp = NULL; } SpatialEditorSelectedItem() {
sp = NULL;
last_xform_dirty = true;
}
~SpatialEditorSelectedItem(); ~SpatialEditorSelectedItem();
}; };