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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2140 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 2140.


Report 2140 Actions


    Problem Report Number 2140
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0607
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Motif Toolkit
    Certification Program The Open Brand certification program
    Test Suite VSM version 4.0.0
    Test Identification funcs/XmGetVisibility 1
    Problem Summary PG4M.00003 Motif doesnot design to fulfill the requirement of the test case. When we check the visibility of a widget using XmGetVisibility, (XmGetVisibility is defined in Traversal.c in Xm lib) here are the ste...
    Problem Text

    Motif doesnot design to fulfill the requirement of the test case.

    When we check the visibility of a widget using XmGetVisibility,
    (XmGetVisibility is defined in Traversal.c in Xm lib) here are the steps
    we check through:
    We check whether this is a valid widget or not, and check whether we
    can create a visiable rectangle on this widget, if either one is wrong, we
    return XmVISIBILITY_FULLY_OBSCURED, otherwise we continue, the code is :

    if( !wid
    || !_XmCreateVisibilityRect( wid, &rect) )
    {
    return( XmVISIBILITY_FULLY_OBSCURED) ;
    }

    For the function call _XmCreateVisibilityRect(wid, &rect), it first
    check whether the widget is viewable, if a widget is realized and mapped then
    it is viewable, so here all 3 buttons are viewable. Then this function will




    create a rectangle from the widget , here is the code:
    _XmSetRect( rectPtr, w) ;
    Basically above function is get the widget size and its anchor.
    The last thing to do for _XmCreateVisibilityRect is to compare this rectangle
    against all its ancestors to see if there is any intersection. Here is the
    code:
    while( (w = XtParent( w)) && !XtIsShell( w) )
    {
    if( !_XmIsViewable( w)
    || !_XmIntersectRect( rectPtr, w, rectPtr) )
    {
    _XmClearRect( rectPtr) ;
    return( False) ;
    }
    }

    All three buttons are mapped and realized on the bulletin board, nobody here
    can return False here because nobody has a intersection with the bulletin
    board.

    So the problem here is we only check the current being checked widget
    against its ancestors, we don't care who else is on the top of current widget,
    such as its siblings, and it is very hard to check whoever is on the current
    widget.

    This is a system design problem and the test case should not test this.

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this request be refused.

    The XmGetVisibility specification describes XmVISIBILITY_FULLY_OBSCURED
    in the Return Value section,

    Indicates that the widget is not at all visible on the screen.

    The submitter claims that on the test implementation the case where
    a sibling widget obscures the specified widget is excluded from the
    check. We can not find this statement anywhere in the specification.

    The test expects a return value of XmVISIBILITY_FULLY_OBSCURED
    for the specified widget on a call to XmGetVisibilty irrespective of
    the widget(s) causing the invisibility.


    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.


    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority