lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5293] Fix defect introduced 20060924T1428Z


From: Greg Chicares
Subject: [lmi-commits] [5293] Fix defect introduced 20060924T1428Z
Date: Sun, 02 Oct 2011 09:58:24 +0000

Revision: 5293
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5293
Author:   chicares
Date:     2011-10-02 09:58:24 +0000 (Sun, 02 Oct 2011)
Log Message:
-----------
Fix defect introduced 20060924T1428Z

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/input_harmonization.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2011-10-01 14:29:49 UTC (rev 5292)
+++ lmi/trunk/ChangeLog 2011-10-02 09:58:24 UTC (rev 5293)
@@ -28525,3 +28525,20 @@
   ihs_avstrtgy.cpp
 Enforce minimum specamt.
 
+20111001T1421Z <address@hidden> [608]
+
+  input_harmonization.cpp
+Improve documentation.
+
+20111001T1429Z <address@hidden> [608]
+
+  input_harmonization.cpp
+Revert temporary change committed 20090613T1757Z.
+
+20111002T0958Z <address@hidden> [607]
+
+  input_harmonization.cpp
+Fix defect introduced 20060924T1428Z. Calling DoHarmonize() explicitly
+was wrong: limits were reset without calling enforce_circumscription()
+for (e.g.) 'LastMaterialChangeDate'.
+

Modified: lmi/trunk/input_harmonization.cpp
===================================================================
--- lmi/trunk/input_harmonization.cpp   2011-10-01 14:29:49 UTC (rev 5292)
+++ lmi/trunk/input_harmonization.cpp   2011-10-02 09:58:24 UTC (rev 5293)
@@ -964,10 +964,13 @@
 /// date, the checkbox can be checked and then unchecked, producing
 /// the same behavior as a pushbutton. This creates a relationship
 /// between the checkbox and the date control that requires resetting
-/// the latter's value as well as the ranges of other controls that
-/// depend on it; that's not just Transmogrification or Harmonization,
-/// but a different relationship that partakes of both, and should
-/// perhaps be handled separately from both.
+/// the latter's value as well as the ranges (and therefore, perhaps,
+/// the values) of other controls that depend on it. That's not just
+/// Transmogrification or Harmonization, but a different relationship
+/// that partakes of both; to handle it properly, this function exits
+/// early whenever 'EffectiveDate' is forced to change, causing
+/// MvcModel::Reconcile() to propagate the change--in effect, as
+/// though the user changed it directly in the GUI.
 ///
 /// A default-constructed instance of this class initially has date of
 /// birth set to the current date, which of course needs adjustment.
@@ -981,12 +984,10 @@
 
 void Input::DoTransmogrify()
 {
-    if(mce_yes == EffectiveDateToday)
+    if(mce_yes == EffectiveDateToday && calendar_date() != EffectiveDate)
         {
         EffectiveDate = calendar_date();
-        // TODO ?? Consider factoring out date calculations and making
-        // them conditional, if justified by measurement of their cost.
-        DoHarmonize();
+        return;
         }
 
     std::pair<int,int> ym0 = years_and_months_since




reply via email to

[Prev in Thread] Current Thread [Next in Thread]