|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1777 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 1777.
Report 1777 Actions
Problem Report Number 1777 Submitter's Classification Specification problem State Resolved Resolution Temporary Interpretation (TIN) Problem Resolution ID TIN.X.0076 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1998-04-15 08:00 Product Standard Window System Application Interface V2 Certification Program The Open Brand certification program Test Suite VSW version 5.0.0 Test Identification Xt8/XtMakeResizeRequest 9 Specification Window Management (X11R5): X Toolkit Intrinsics Location in Spec See Problem Text Problem Summary TIN4W.00006 A non-alignment between the reference code and its specification is under investigation. Problem Text
The reference implementation (i.e. The X11 code provided by TOG) being
tested is not in line with the standard specification for this X11
function as defined in the "X Toolkit Intrinsics - C Language
Interface".
The assertion being tested is in line with the standard specification
but the behavior of this function is not in line with the specification.
Either the X11 reference implementation is at fault, or the
Specification needs to be aligned with the reference implemenation. It
is our understanding that X11R6.1 is no longer supported by TOG,
hence we request this waiver be granted a Permanent Interpretation.
Section 6.2 of the "X Toolkit Intrinsics - C Language Interface" states:
"If the geometry manager returns XtGeometryDone, the change has been approved
and actually has been done. In this case, XtMakeGeometryRequest does no
configuring and returns XtGeometryYes. XtMakeGeometryRequest never returns
XtGeometryDone."
The problem here is that _XtMakeGeometryRequest() is returning "XtGeometryDone"
when it should never be. XtMakeResizeRequest() calls _XtMakeGeometryRequest().
Please see the sample code below for an explanation as to why the test
purpose if failing.
--------------------------------------------------------------------
FILE: $TET_ROOT/vsw5/tset/Xt8/tmkrsizrt/Test.c
static void t009(){
.
.
.
formw_good = XtCreateManagedWidget("avsform",
avsformWidgetClass,
boxw1,
NULL,
0);
tet_infoline("PREP: Create avsform2 widget in avsform widget");
formw_good2 = XtCreateManagedWidget("avsform2",
avsform2WidgetClass,
formw_good,
NULL,
0);
.
.
.
/*this forces the avsForm (parent) widget's geometry manager to
return XtMakeGeometryDone*/
avs_set_event(5, 77);
/*
* The value of result is "XtGeometryDone".
XtMakeResizeRequest()
* calls _XtMakeGeometryRequest(). According to the spec
* _XtMakeGeometryRequest() is NEVER supposed to return
* "XtGeometryDone".
*/
result = XtMakeResizeRequest(formw_good2, width, height,
&width_return, &height_return);
.
.
.
}
--------------------------------------------------------------------
FILE: Xt/Geometry.c
XtGeometryResult
XtMakeResizeRequest (widget, width, height, replyWidth, replyHeight)
Widget widget;
Dimension width, height;
Dimension *replyWidth, *replyHeight;
{
.
.
.
r = _XtMakeGeometryRequest(widget, &request, &reply, &junk);
.
.
.
return r;
}
--------------------------------------------------------------------
FILE: Xt/Geometry.c
XtGeometryResult
_XtMakeGeometryRequest (widget, request, reply, clear_rect_obj)
Widget widget;
XtWidgetGeometry *request, *reply;
Boolean * clear_rect_obj;
{
.
.
.
/* go ask the widget's geometry manager */
if (reply == (XtWidgetGeometry *) NULL) {
returnCode = (*manager)(widget, request, &junk);
} else {
returnCode = (*manager)(widget, request, reply);
}
.
.
.
/*
* The GeometryManager() function returns "XtGeometryDone" (see
below).
* Thus, it satisfies the condition "returnCode != XtGeometryYes" and
* the function returns.
*/
if ((returnCode != XtGeometryYes) ||
(req.changeMask & XtCWQueryOnly) || !XtIsRealized(widget)) {
return returnCode;
}
.
.
.
}
--------------------------------------------------------------------
FILE: "$TET_ROOT/vsw5/src/libXtTest/AvsForm.c"
static XtGeometryResult GeometryManager(w, request, reply)
Widget w;
XtWidgetGeometry *request;
XtWidgetGeometry *reply; /* RETURN */
{
.
.
.
save5 = avs_get_event(5);
avs_set_event(5, 1);
/*force this for XtMakeGeometryRequest test 9 if requested*/
if (save5 == 77) {
return(XtGeometryDone);
}
.
.
.
}Test Output
520|2392 9 3995 1 1|VSW5TESTSUITE PURPOSE 9
520|2392 9 3995 1 2|Assertion XtMakeResizeRequest-9.(A)
520|2392 9 3995 1 3|A call to XtGeometryResult XtMakeResizeRequest(w, width,
520|2392 9 3995 1 4|height, width_return, height_return) when the widget w is
520|2392 9 3995 1 5|realized, the width field of the widget is not equal to
520|2392 9 3995 1 6|width or the height field is not equal to height, and the
520|2392 9 3995 1 7|call to the geometry_manager procedure of the widget's
520|2392 9 3995 1 8|parent returns XtGeometryDone shall return XtGeometryYes.
520|2392 9 3942 1 1|PREP: Initialize toolkit, Open display and Create topLevel root widget
520|2392 9 3942 1 2|PREP: Create avsform widget in boxw1 widget
520|2392 9 3942 1 3|PREP: Create avsform2 widget in avsform widget
520|2392 9 3942 1 4|PREP: Create windows for widgets and map them
520|2392 9 3942 1 5|TEST: Change geometry of avsform2 widget
520|2392 9 3942 1 6|TEST: return value is XtGeometryYes
520|2392 9 3942 1 7|ERROR: Expected XtMakeGeometryRequest result of 0, Received 3
520|2392 9 4183 2 1|TEST: Parent's Geometry manager was invoked
220|2392 9 1 15:35:52|FAILReview 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)
Note that this TIN may only be applied for VSW5.0.0. In VSW5.0.1 the
XT_COVERAGE configuration variable may be used to surpress this test.
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:
- View Report 1777
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority