|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2181 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2181.
Report 2181 Actions
Problem Report Number 2181 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1100 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/XmProcessTraversal 1 Problem Summary TSD4M.00006 This is the fault of test case. We failed in this for-loop(It is in vsm4/tset/funcs/proctrav.c.): for(k=0;k<MAX_NAVIGATION_MODES;k++) { for(left_side=0;left_side<MAX_SPECIAL_WIDGET_CASES;left_side++){... Problem Text
This is the fault of test case.
We failed in this for-loop(It is in vsm4/tset/funcs/proctrav.c.):
for(k=0;k<MAX_NAVIGATION_MODES;k++) {
for(left_side=0;left_side<MAX_SPECIAL_WIDGET_CASES;left_side++){
When it fails, the "k" is 0 and left_side is 11.
For the widget hierarchy tree part that we are concerning, top level
is a BulletinBoard widget, it has two children -- left is SelectionBox widget,
right is TextField widget. This is done by this line of code:
w_info =setup_special_kids(shell_info,left_side,rght_side,
XmTAB_GROUP, nav_mode_list[k], nav_mode_list[k]);
And we do the traverse in this function:
traverse_special(w_info,k,left_side,rght_side) ;
In the above function, we trave those two widgets: SelectionBox and
TextField one by one, we move the pointer to the widget by:
xisMovePointerTo(widgets[i], oUserDefined, 0, MoveAny);
Then we begin to traverse :
for(j=0;j<MAX_TRAVERSE_MODES_special;j++) {
if ( XmIsTraversable(widgets[i]) == True ) {
proc_trav_ret =XmProcessTraversal(widgets[i],XmTRAVERSE_CURRENT) ;
check_traversal(w_info,widgets[i],XmTRAVERSE_CURRENT,proc_trav_ret);
}
proc_trav_ret = XmProcessTraversal(widgets[i],trav_mode_list[j]);
check_traversal(w_info,widgets[i],trav_mode_list[j],proc_trav_ret) ;
}
We check the result in check_traversal function, we get the first
traversable item in the tab group through the following code:
else if ( XmIsTraversable(widget) == True ){
first_trav_kid = get_first_traversible_child(widget) ;
}
else{
first_trav_kid = get_first_traversible_child(kid2) ;
X/Open Waiver Reference: TSD4M.00006 Page: 2
WAIVER DOCUMENT X/Open Waiver Reference: TSD4M.00006
}
Both cases we get the TextField widget as the first traversable item.
The spec says:
"XmTRAVERSE_HOME--Finds the hierarchy that contains widget. Finds the
active item in the active tab group and makes the first traversable item in
the tab group the active item."
TextField widget can be traversal, SelectionBox widget as a whole can't
be traverable, but its component: OK button, Help button, Cancel button can be
traversable as part of a tab group, and this is the reason to cause the failure.
In fact here the tab group is not consist of TextField and Selection
widgets, it consists of the OK, Help, Cancel and TextField widgets as its
traversal graph, so the first traversable item in this tab group is not
TextField, is Ok button.Review Information
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 2181
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority