diff options
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/Doc.cpp')
-rw-r--r-- | src/Authoring/Client/Code/Core/Doc/Doc.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/Doc.cpp b/src/Authoring/Client/Code/Core/Doc/Doc.cpp index 91d79ee0..a0ff63e0 100644 --- a/src/Authoring/Client/Code/Core/Doc/Doc.cpp +++ b/src/Authoring/Client/Code/Core/Doc/Doc.cpp @@ -795,7 +795,7 @@ void CDoc::DeselectAllItems(bool inSendEvent) if (inSendEvent) NotifySelectionChanged(); else - SetSelection(); + m_unnotifiedSelectionChange = SetSelection(); // Remove selection on keyframes. DeselectAllKeyframes(); @@ -1084,9 +1084,11 @@ bool CDoc::SetSelection(Q3DStudio::SSelectedValue inNewSelection) void CDoc::NotifySelectionChanged(Q3DStudio::SSelectedValue inNewSelection) { m_SelectedValue = inNewSelection; - if (SetSelection(inNewSelection)) { + if (SetSelection(inNewSelection)) m_Core->GetDispatch()->FireSelectionChange(inNewSelection); - } + else if (m_unnotifiedSelectionChange) + m_Core->GetDispatch()->FireSelectionChange(m_SelectedObject); + m_unnotifiedSelectionChange = false; } template <typename TDataType> |