solomon@gjetost.cs.wisc.edu (Marvin Solomon) (03/29/89)
X Window System Bug Report
xbugs@expo.lcs.mit.edu
VERSION:
R3
CLIENT MACHINE and OPERATING SYSTEM:
any big-endian (Sun, RT, ...)
DISPLAY:
any
WINDOW MANAGER:
any
AREA:
contib/widgets/MenuBox
SYNOPSIS:
In MenuShell.c, the fuction Setup() passes a pointer to a Position
(i.e., a short) to XQueryPointer() where an (int *) is expected.
DESCRIPTION:
See SYNOPSIS
REPEAT BY:
The results are unpredictable. Under some circumstances, everything
works ok. In at least one application, when run on Sun 4/110 (Sparc),
popping up a menu causes a core dump.
SAMPLE FIX:
*** /tmp/,RCSt1015883 Wed Mar 29 07:09:43 1989
--- MenuShell.c Thu Mar 16 17:19:11 1989
***************
*** 265,276 ****
Cardinal *num;
{
Window root, child;
! int x_root, y_root;
MenuShellWidget msw = (MenuShellWidget) w;
unsigned int mask;
XQueryPointer( XtDisplay( w ), XtWindow( w ), &root, &child,
! &x_root, &y_root, &msw->menu.cursor_x,
! &msw->menu.cursor_y, &mask);
return;
}
--- 265,278 ----
Cardinal *num;
{
Window root, child;
! int x_root, y_root, x_win, y_win;
MenuShellWidget msw = (MenuShellWidget) w;
unsigned int mask;
XQueryPointer( XtDisplay( w ), XtWindow( w ), &root, &child,
! &x_root, &y_root, &x_win, &y_win, &mask);
! msw->menu.cursor_x = x_win;
! msw->menu.cursor_y = y_win;
!
return;
}
Marvin Solomon
Computer Sciences Department
University of Wisconsin, Madison WI
solomon@cs.wisc.edu
...seismo!uwvax!solomon