jkh@dana.UUCP (Jordan K. Hubbard) (12/15/87)
# This is a shell archive. Remove anything before this line, then
# unpack it by saving it in a file and typing "sh file". (Files
# unpacked will be owned by you and have default permissions.)
#
# This archive contains:
# uwm.new.patch4
echo x - uwm.new.patch4
sed 's/^ //' > "uwm.new.patch4" << '//E*O*F uwm.new.patch4//'
Date: Mon, 14 Dec 87 18:00 PST
From: Jordan Hubbard <jkh@violet.berkeley.edu>
Subject: uwm.new patch #4, use correct method of determining event coords.
DESCRIPTION:
The QueryPointer call for determining the proper x, y coords of a title
bar event was bogus and worked only if you didn't move the mouse too
much after the down event. Should have been fixed before release, but
I forgot..
FIX:
*** uwm.new/uwm.c Mon Dec 14 19:45:24 1987
--- uwm.new/uwm.c.new Mon Dec 14 19:35:33 1987
***************
*** 493,507 ****
context = ICON;
else if ((dat = GetTitleInfo(event_win)) != NULL) {
#ifdef DEBUG
! prt_info(&button_event);
#endif
if (dat->title == event_win) {
Window root;
int junk;
! XQueryPointer(dpy, RootWindow(dpy, scr), &root, &junk,
! &x, &y, &down_x, &down_y, &junk);
! if (event_win == dat->title)
! context = TITLE;
}
else
context = WINDOW;
--- 493,513 ----
context = ICON;
else if ((dat = GetTitleInfo(event_win)) != NULL) {
#ifdef DEBUG
! prt_info(&button_event, dat);
#endif
if (dat->title == event_win) {
Window root;
int junk;
! /*
! * The original x, y coords were relative to the
! * title window, and therefore useless. We have
! * to convert them back to root relative ones..
! */
! XTranslateCoordinates(dpy, event_win,
! RootWindow(dpy, scr), x, y, &down_x, &down_y, &junk);
! x = down_x;
! y = down_y;
! context = TITLE;
}
else
context = WINDOW;
***************
*** 953,965 ****
}
#ifdef DEBUG
! prt_info(ev)
XButtonEvent *ev;
{
fprintf(stderr, "EVENT_DETAIL: win: %x, subwin: %x, xy: (%d, %d)\n",
ev->window, ev->subwindow, ev->x, ev->y);
! if ((dat = GetTitleInfo(ev->window)) != NULL)
fprintf(stderr, "Event window is TITLED: frame: %x, title: %x, subwin: %x\n",
! dat->parent, dat->title, dat->subwin);
}
#endif
--- 959,972 ----
}
#ifdef DEBUG
! prt_info(ev, d)
XButtonEvent *ev;
+ TitleData *d;
{
fprintf(stderr, "EVENT_DETAIL: win: %x, subwin: %x, xy: (%d, %d)\n",
ev->window, ev->subwindow, ev->x, ev->y);
! if (d)
fprintf(stderr, "Event window is TITLED: frame: %x, title: %x, subwin: %x\n",
! d->parent, d->title, d->subwin);
}
#endif
//E*O*F uwm.new.patch4//
exit 0