lmi
[Top][All Lists]
Advanced

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

[lmi] Input-sequence editor testing


From: Greg Chicares
Subject: [lmi] Input-sequence editor testing
Date: Sun, 04 Jul 2010 22:01:31 +0000
User-agent: Thunderbird 2.0.0.24 (Windows/20100228)

These are in chronological order of discovery, which turns out to be
about the same thing as reverse priority order.

* Repaint lmi tabbed-dialog background when "..." pop-up dialog is moved

  alt-F N I
  "Individual mode"
  "..."
  move the pop-up
  Cancel
Background is not repainted: what was turned from white to gray,
remains gray.

A repaint problem with different symptoms:
  alt-F N I
  "Individual mode"
  "..."
  switch to another application
  switch back
  Cancel
In the portion of the lmi tabbed dialog that was obscured by the other
application, enabled text controls change from white to gray. Cancel
repaints only the portion that was under the "..." dialog.

* Use default keyword in new keyword-only controls

  alt-F N I
  "Individual mode"
  "..."
  choose "until retirement"
Second row, first column: no mode selected. The best choice would be
the 'default_keyword' argument of realize_sequence_string(). Today,
that is hardcoded in these functions:
  Input::RealizePaymentMode()
  RealizeCorporationPaymentMode()
but probably it should be moved into class mode_sequence, e.g. as
in this casual sketch:

     mode_sequence& operator=(std::string const&);

     virtual bool numeric_values_are_allowable() const {return false;}
     virtual bool keyword_values_are_allowable() const {return true;}
+    virtual std::string const default_keyword() const {return "annual";}
     virtual std::map<std::string,std::string> const allowed_keywords() const;
 };

A secondary consequence is that the actions above produce the string
  annual retirement;
but editing that result by re-invoking "..." pops up a dialog with
only one "until maturity" row; the "retirement" breakpoint is lost.

* Cannot reenter "..." with a sequence produced by "..."

  alt-F N I
  "Individual payment"
  "..."
  choose "until age"
  OK
  "..."
messagebox:
  The sequence is invalid and cannot be edited visually.
  Interval [ 55, 56 ) is improper: it ends after the last possible duration.
The default "until age" is 100; 99 would be better, but much better
would be DBDictionary::MaturityAge.

Changing the default would prevent the symptom, but this example
seems to demonstrate a deeper problem. The pop-up exits normally,
changing the sequence-string to
  20000 @100; 0
but then it refuses to edit that string. It seems that validation
upon entering the pop-up is stricter than that performed when
leaving it.

* Pressing "Remove" buttons leads to segfault

  alt-F N I
  "Individual payment"
  "..."
  change "until maturity" to "until age"
  change "until maturity" to "until retirement"
  click the lower "Remove" button
  click the remaining "Remove" button

DEBUG_EVENT:
        dwDebugEventCode = EXCEPTION_DEBUG_EVENT
        dwProcessId = EB0
        dwThreadId = 778
        ExceptionCode = C0000005
        ExceptionFlags = 0
        ExceptionAddress = 77C43283
        dwFirstChance = 0
lmi_wx_shared.exe caused an Access Violation at location 77c43283 in module 
msvcrt.dll Reading from location 0205d000.

Registers:
eax=020555c0 ebx=020555c0 ecx=3fffe170 edx=00000000 esi=0205d000 edi=0205cffc
eip=77c43283 esp=0022a700 ebp=0022a708 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202

Call stack:
AddrPC     AddrReturn AddrFrame  AddrStack  Params
77C43283   00526EF2   0022A708   0022A700   020555C0   020555C4   FFFFFFFC   
00000000
77C43283  msvcrt.dll:77C43283  memmove
00526EF2   0043D2B4   0022A728   0022A700   0022BD30   020555C0   00000000   
00000006
00526EF2  lmi_wx_shared.exe:00526EF2C:\opt\lmi\bin\lmi_wx_shared.exe: No symbol 
found
0043D2B4   0043D41E   0022A758   0022A700   0022BB50   00000002   05F21024   
00000148
0043D2B4  lmi_wx_shared.exe:0043D2B4C:\opt\lmi\bin\lmi_wx_shared.exe: No symbol 
found
0043D41E   6184184E   0022A788   0022A700   0022BB50   0022A980   0043D3B0   
00000000
0043D41E  lmi_wx_shared.exe:0043D41EC:\opt\lmi\bin\lmi_wx_shared.exe: No symbol 
found
6184184E   6199FBDE   0022A7B8   0022A700   01E9D260   0022BB50   020531C0   
0022A980
6184184E  
wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:6184184EC:\opt\lmi\local\lib\wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:
 No symbol found
  
_ZNK16wxAppConsoleBase16CallEventHandlerEP12wxEvtHandlerR14wxEventFunctorR7wxEvent
6199FBDE   619A019C   0022A7E8   0022A700   02054618   0022BB50   0022A980   
05F21024
6199FBDE  
wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:6199FBDEC:\opt\lmi\local\lib\wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:
 No symbol found
  
_ZN12wxEvtHandler23ProcessEventIfMatchesIdERK21wxEventTableEntryBasePS_R7wxEvent
619A019C   619A2C1E   0022A838   0022A700   020538E0   0022A980   020D0AB0   
0022A83C
619A019C  
wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:619A019CC:\opt\lmi\local\lib\wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:
 No symbol found
  _ZN12wxEvtHandler23SearchDynamicEventTableER7wxEvent
619A2C1E   619A2CBE   0022A858   0022A700   020538E0   0022A980   77F57D70   
019312A0
619A2C1E  
wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:619A2C1EC:\opt\lmi\local\lib\wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:
 No symbol found
  _ZN12wxEvtHandler16ProcessEventHereER7wxEvent
619A2CBE   6199FE9C   0022A878   0022A700   020538E0   0022A980   77D6CC9A   
77D45CD6
619A2CBE  
wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:619A2CBEC:\opt\lmi\local\lib\wxmsw290u_gcc_gcc-345-09058928eeb72853142c062bdec056ce.dll:
 No symbol found
  _ZN12wxEvtHandler12ProcessEventER7wxEvent
6199FE9C   61C402BB   0022A8E8   0022A700   020538E0   0022A980   0022A908   
61A9F998
[...many lines snipped]



reply via email to

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