summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Client/Code/Core/Doc/Doc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/Doc.cpp')
-rw-r--r--src/Authoring/Client/Code/Core/Doc/Doc.cpp8
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>