HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2176 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 2176.


Report 2176 Actions


    Problem Report Number 2176
    Submitter's Classification Minor System Fault
    State Resolved
    Resolution Temporary Interpretation (TIN)
    Problem Resolution ID TIN.X.0116
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1998-05-26 08:00
    Product Standard Motif Toolkit
    Certification Program The Open Brand certification program
    Test Suite VSM version 4.0.0
    Test Identification vsm4/tset/widgets/XmList4A,XmScrolledList4A test4A
    Specification Motif Toolkit API
    Location in Spec See Problem Text
    Problem Summary TIN4M.00023 See PG4M.00015 and PG4M.00016 for source code trace reference. This report is only asking for XmNexentedSelectionCallback this kind of error like showed in above output. Since the output from XmList t...
    Problem Text

    See PG4M.00015 and PG4M.00016 for source code trace reference.

    This report is only asking for XmNexentedSelectionCallback this kind
    of error like showed in above output. Since the output from XmList test4A is
    very huge, I won't put all the output here, the consultant can run it.
    When "Keyboard_Focus=1", "XmNSensitive=True"(Those two resources actually
    are related), "XmNhighlightOnEnter=True"(XmNautomaticSelection=True or False doesn't
    matter), then when XmNselectionPolicy=2(2 is XmEXTENDED_SELECT) and keyboard selection
    mode is Normal Mode, the current focused item will be highlighted, this is the case in
    our test4A. When we switch the keyboard selection mode to be Add Mode, we need to
    remove this current highlight, the assumption here is this current single highlighted
    item is not the user wants to be choosed, you can see this when you run this test case
    and reaching "tn[2] = 66" in ../vsm4/src/mvslib/behavior which is the failure case, put
    sleep before and after that "xisClickKey(KeyosfAddMode)" and you will see the highlight
    is removed from the List widget. Here is the comments from Xm lib List.c file, in its
    function XmListSetAddMode which also confirm this assumption, it has:

    /****************
    *
    * Funky hacks for Ellis: If we enter add mode with one item selected,
    * deselect the current one. If we leave add mode with no items selected,
    * select the current one.
    *
    * rgcote 8/23/93: Here's a little more background for the "Funky hacks".
    * In normal mode, one item must be selected at all times. In add mode,
    * this is not the case. In add mode, a user wants to specify a set of,
    * possibly discontiguous, items to be the selection. If, when going from
    * normal mode to add mode, more than one item is already selected than




    * we assume that the user started selecting the items and decided that
    * he/she needed to now select more items that are discontiguous from the
    * currently selected items. On the other hand, if only one item was
    * selected, we assume that the single selected item is just the result
    * of normal mode forcing one item to be selected and we unselect that
    * single item.
    *
    ****************/
    if ((add_mode) &&
    (lw->list.itemCount != 0) &&
    (lw->list.SelectionPolicy == XmEXTENDED_SELECT) &&
    (lw->list.selectedItemCount == 1) &&
    (lw->list.InternalList[lw->list.CurrentKbdItem]->selected))
    {
    lw->list.InternalList[lw->list.CurrentKbdItem]->selected = FALSE;
    lw->list.InternalList[lw->list.CurrentKbdItem]->last_selected = FALSE;
    DrawList(lw, NULL, TRUE);
    #ifndef OSF_v1_2_4
    ClickElement(lw, NULL,FALSE);
    #else /* OSF_v1_2_4 */
    UpdateSelectedList(lw);
    #endif /* OSF_v1_2_4 */

    Our system is not OSF_v1_2_4, we are basically using OSF_v1_2_3, but a little
    bit higher than this, it's inbetween 1.2.3 and 1.2.4. So at above, our AIX4.2 and
    AIX4.1 using "ClickElement(lw, NULL,FALSE)" instead of "UpdateSelectedList(lw)".

    In the old VTS1.1, for this case, it does set an expected
    XmNextendedSelectionCallback callback, so our system can pass the VTS1.1, but in the
    VSM4, ../vsm4/src/mvslib/instances/iList.c:SetExpectedActions for KeyosfAddMode, it
    won't set an expected XmNextendedSelectionCallback callback anymore, so I have this
    failure.

    The main purpose for this waiver is that I want a confirmation from X Open that
    we don't want to keep this backward compatibility if this waiver is refused.

    Another potential case here I can imagine is: if the user has selected this highlighted item already in this test4A failure situation, then we change keyboard mode from
    Normal mode to Add mode, surely we have a wrong assumption here in our XmListSetAddMode
    function, we clear the highlight on this user choosed item, if we use ClickElement
    then we have a XmNextendedSelectionCallback which is equal to say the user toggle the
    current focused item' selection state, if we use UpdateSelectedList then we don't
    have a XmNextendedSelectionCallback at all, so in this kind of case, who is more right?

    I'll change our source code if this waiver is refused. Personally I don't think
    this is a big deal.

    Test Output

    SECTION: Widgets

    TEST CASE: XmList

    TEST PURPOSE #4
    The XmList widget shall exhibit the behavior
    defined in the Motif Toolkit API specification.
    INFO: ***************** Beginning Iteration 1 of 64 ****************
    INFO: --Keyboard_Focus=1
    INFO: --XmNsensitive=True
    INFO: --XmNautomaticSelection=False
    INFO: --XmNhighlightOnEnter=True
    INFO: --XmNselectionPolicy=0
    PREP: Move over Item 1, push button while over
    TEST: ListBeginSelect
    INFO: ***************** Beginning Iteration 33 of 64 ****************
    INFO: --Keyboard_Focus=1
    INFO: --XmNsensitive=True
    INFO: --XmNautomaticSelection=False
    INFO: --XmNhighlightOnEnter=True
    INFO: --XmNselectionPolicy=2
    PREP: Move over Item 1, push button while over
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect




    TEST: ListButtonMotion
    PREP: Move over Item 2, push button while over, drag off
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListButtonMotion
    TEST: Causes current gadget to process mouse mtn evnt.
    TEST: ListEndSelect
    PREP: Move over Item 0, push button 1, drag to Item 3
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListButtonMotion
    TEST: Causes current gadget to process mouse mtn evnt.
    TEST: ListEndSelect
    PREP: Move over Item 5, push button 1, drag to Item 2
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListButtonMotion
    TEST: Causes current gadget to process mouse mtn evnt.
    TEST: ListEndSelect
    PREP: Move over Item 4, press & release button1 twice
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListButtonMotion
    PREP: Move over Item 6, press & release button1 twice
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListButtonMotion
    PREP: Move over Item 1, push Ctrl button while over
    TEST: ListBeginToggle
    TEST: ListEndToggle
    TEST: ListButtonMotion
    PREP: Move over Item 2, push Ctrl button while over, drag off
    TEST: ListBeginToggle
    TEST: ListButtonMotion
    TEST: ListEndToggle
    PREP: Move over Item 0, push Ctrl button 1, drag to Item 5
    TEST: ListBeginToggle
    TEST: ListButtonMotion
    TEST: ListEndToggle
    PREP: Move over Item 5, push Ctrl button 1, drag to Item 2
    TEST: ListBeginToggle
    TEST: ListButtonMotion
    TEST: ListEndToggle
    PREP: Move over Item 4, press & release Ctrl button1 twice
    TEST: ListBeginToggle




    TEST: ListEndToggle
    TEST: ListButtonMotion
    PREP: Move over Item 6, press & release Ctrl button1 twice
    TEST: ListBeginToggle
    TEST: ListEndToggle
    TEST: ListButtonMotion
    PREP: Move over Item 1, push Shft button while over
    TEST: ListBeginExtend
    TEST: ListEndExtend
    TEST: ListButtonMotion
    PREP: Move over Item 2, push Shft button while over, drag off
    TEST: ListBeginExtend
    TEST: ListButtonMotion
    TEST: ListEndExtend
    PREP: Move over Item 0, push Shft button 1, drag to Item 3
    TEST: ListBeginExtend
    TEST: ListButtonMotion
    TEST: ListEndExtend
    PREP: Move over Item 5, push Shft button 1, drag to Item 3
    TEST: ListBeginExtend
    TEST: ListButtonMotion
    TEST: ListEndExtend
    PREP: Move over Item 3, press & release Shft button1 twice
    TEST: ListBeginExtend
    TEST: ListEndExtend
    TEST: ListButtonMotion
    PREP: Move over Item 4, press & release Shft button1 twice
    TEST: ListBeginExtend
    TEST: ListEndExtend
    TEST: ListButtonMotion
    PREP: Move over Item 1, push button while over
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListButtonMotion
    PREP: Move over Item 2, push button while over, drag off
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListButtonMotion
    TEST: Causes current gadget to process mouse mtn evnt.
    TEST: ListEndSelect
    PREP: Move over Item 0, push button 1, drag to Item 3
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListButtonMotion
    TEST: Causes current gadget to process mouse mtn evnt.
    TEST: ListEndSelect
    PREP: Move over Item 5, push button 1, drag to Item 2
    TEST: ListBeginSelect




    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListButtonMotion
    TEST: Causes current gadget to process mouse mtn evnt.
    TEST: ListEndSelect
    PREP: Move over Item 4, press & release button1 twice
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListButtonMotion
    PREP: Move over Item 6, press & release button1 twice
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListButtonMotion
    PREP: Move over Item 1, push Ctrl button while over
    TEST: ListBeginToggle
    TEST: ListEndToggle
    TEST: ListButtonMotion
    PREP: Move over Item 2, push Ctrl button while over, drag off
    TEST: ListBeginToggle
    TEST: ListButtonMotion
    TEST: ListEndToggle
    PREP: Move over Item 0, push Ctrl button 1, drag to Item 5
    TEST: ListBeginToggle
    TEST: ListButtonMotion
    TEST: ListEndToggle
    PREP: Move over Item 5, push Ctrl button 1, drag to Item 2
    TEST: ListBeginToggle
    TEST: ListButtonMotion
    TEST: ListEndToggle
    PREP: Move over Item 4, press & release Ctrl button1 twice
    TEST: ListBeginToggle
    TEST: ListEndToggle
    TEST: ListButtonMotion
    PREP: Move over Item 6, press & release Ctrl button1 twice
    TEST: ListBeginToggle
    TEST: ListEndToggle
    TEST: ListButtonMotion
    PREP: Move over Item 1, push Shft button while over
    TEST: ListBeginExtend
    TEST: ListEndExtend
    TEST: ListButtonMotion
    PREP: Move over Item 2, push Shft button while over, drag off
    TEST: ListBeginExtend
    TEST: ListButtonMotion
    TEST: ListEndExtend
    PREP: Move over Item 0, push Shft button 1, drag to Item 3
    TEST: ListBeginExtend
    TEST: ListButtonMotion




    TEST: ListEndExtend
    PREP: Move over Item 5, push Shft button 1, drag to Item 3
    TEST: ListBeginExtend
    TEST: ListButtonMotion
    TEST: ListEndExtend
    PREP: Move over Item 3, press & release Shft button1 twice
    TEST: ListBeginExtend
    TEST: ListEndExtend
    TEST: ListButtonMotion
    PREP: Move over Item 4, press & release Shft button1 twice
    TEST: ListBeginExtend
    TEST: ListEndExtend
    TEST: ListButtonMotion
    PREP: Click KeyActivate on Item 6
    TEST: ListKbdActivate
    TEST: ListButtonMotion
    PREP: Press KeySelect & Release KeySelect on Item 6
    TEST: ListKbdBeginSelect
    TEST: ListKbdEndSelect
    TEST: ListButtonMotion
    PREP: Click KeyUp on Item 5
    TEST: ListPrevItem
    TEST: Traverses to the next item above current gadget
    TEST: ListButtonMotion
    PREP: Click KeyDown on Item 3
    TEST: ListNextItem
    TEST: Traverses to the next item below current gadget
    TEST: ListButtonMotion
    PREP: Click KeyUp Twice from Item 3
    TEST: ListPrevItem
    TEST: Traverses to the next item above current gadget
    TEST: ListButtonMotion
    PREP: Click KeyDown Twice from Item 3
    TEST: ListNextItem
    TEST: Traverses to the next item below current gadget
    TEST: ListButtonMotion
    PREP: Click KeyShiftUp on Item 2
    TEST: ListExtendPrevItem
    TEST: ListButtonMotion
    PREP: Click KeyShiftDown on Item 3
    TEST: ListExtendNextItem
    TEST: ListButtonMotion
    PREP: Click KeyBeginLine on Item 4
    TEST: ListBeginLine
    TEST: Traverses to 1st widget or gadget in crnt tab grp.
    TEST: ListButtonMotion
    PREP: Click KeyEndLine on Item 5
    TEST: ListEndLine
    TEST: ListButtonMotion
    PREP: Click KeyBeginData on Item 2
    TEST: ListBeginData
    TEST: ListButtonMotion




    PREP: Click KeyEndData on Item 3
    TEST: ListEndData
    TEST: ListButtonMotion
    PREP: Press KeyExtend & Release KeyExtend on Item 5
    TEST: ListKbdBeginExtend
    TEST: ListKbdEndExtend
    TEST: ListButtonMotion
    PREP: Click KeyCancel Once on Item 2
    TEST: only for multi clicks on KCancel
    TEST: ListButtonMotion
    PREP: Click KeyCancel twice on Item 3
    TEST: ListKbdCancel
    TEST: only for multi clicks on KCancel
    TEST: ListButtonMotion
    PREP: Click KeySelectAll on Item 4
    TEST: ListKbdSelectAll
    TEST: ListButtonMotion
    PREP: Click KeyDeselectAll on Item 5
    TEST: ListKbdDeSelectAll
    TEST: ListButtonMotion
    PREP: Click KeyHelp on Item 2
    TEST: help key results in help callback(if exists)
    TEST: Call the callbacks for XmNhelpCallback (if exist)
    TEST: ListButtonMotion
    PREP: Click KeyShiftBeginData on Item 2
    TEST: ListBegindataExtend
    TEST: ListButtonMotion
    PREP: Click KeyShiftEndData on Item 3
    TEST: ListEndDataExtend
    TEST: ListButtonMotion
    PREP: Multi click Button 1 twice on Item 3
    TEST: only for multi clicks on Button
    TEST: Causes current gadget to process a multiple click.
    TEST: ListButtonMotion
    PREP: Click KeyAddMode on Item 2
    TEST: ListAddMode
    ERROR: Received unexpected callback(s) XmNextendedSelectionCallback of widget Xm
    List of class xmListWidgetClass Received 1, Expected 0
    TEST: ListButtonMotion
    PREP: Click KeyBeginData on Item 2
    TEST: ListBeginData
    TEST: ListButtonMotion
    PREP: Click KeyEndData on Item 3
    TEST: ListEndData
    TEST: ListButtonMotion
    PREP: Click KeySelectAll on Item 4
    TEST: ListKbdSelectAll
    TEST: ListButtonMotion
    PREP: Click KeyDeselectAll on Item 5
    TEST: ListKbdDeSelectAll
    TEST: ListButtonMotion
    PREP: Click KeyUp on Item 5




    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListPrevItem
    TEST: Traverses to the next item above current gadget
    TEST: ListButtonMotion
    PREP: Click KeyDown on Item 3
    TEST: ListBeginSelect
    TEST: Causes the current gadget to be armed.
    TEST: Causes the current gadget to be activated.
    TEST: ListEndSelect
    TEST: ListNextItem
    TEST: Traverses to the next item below current gadget
    TEST: ListButtonMotion
    PREP: Destroy the List
    TEST: Destroying the widget results in a destroy callback
    INFO: ***************** Beginning Iteration 34 of 64 ****************
    4 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    A non-alignment between the reference code and its specification is
    under investigation. Thus it is recommended that a Temporary
    Interpretation be granted for this test while it remains subject to review.
    If a change to the specification results from the conclusion of this
    investigation, then this Temporary Interpretation will be converted
    to a Permanent Waiver. Otherwise this Temporary Interpretation will
    be converted to a Temporary Waiver (Minor System Fault).


    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Temporary Interpretation (TIN)
    Review Conclusion
    A Temporary Interpretation is granted.


    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority