Author: enrico
Date: Wed Apr  9 16:06:11 2014
New Revision: 205928

URL: http://llvm.org/viewvc/llvm-project?rev=205928&view=rev
Log:
<rdar://problem/16477472>

Set the correct FormatManager revision before starting to figure out the new 
formatters
This can avoid entering some corner cases where as part of figuring out 
formatters we try to figure out dynamic types, and in turn that causes us to go 
back in trying to fetch new formatters - it is not only a futile exercise, it's 
also prone to endless recursion

This would only cause a behavior change if getting this chain started would 
eventually cause something to run and alter the formatters, a very unlikely if 
at all possible sequence of events


Modified:
    lldb/trunk/source/Core/ValueObject.cpp

Modified: lldb/trunk/source/Core/ValueObject.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=205928&r1=205927&r2=205928&view=diff
==============================================================================
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Wed Apr  9 16:06:11 2014
@@ -245,15 +245,14 @@ ValueObject::UpdateFormatsIfNeeded()
 
     if ( (m_last_format_mgr_revision != 
DataVisualization::GetCurrentRevision()))
     {
+        m_last_format_mgr_revision = DataVisualization::GetCurrentRevision();
+        any_change = true;
+        
         SetValueFormat(DataVisualization::GetFormat (*this, eNoDynamicValues));
         SetSummaryFormat(DataVisualization::GetSummaryFormat (*this, 
GetDynamicValueType()));
 #ifndef LLDB_DISABLE_PYTHON
         SetSyntheticChildren(DataVisualization::GetSyntheticChildren (*this, 
GetDynamicValueType()));
 #endif
-
-        m_last_format_mgr_revision = DataVisualization::GetCurrentRevision();
-
-        any_change = true;
     }
 
     return any_change;


_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to