Mercurial > emacs
changeset 67581:05d48e1da3ad
* xfns.c (compute_tip_xy): Handle negative dx and dy.
* w32fns.c (compute_tip_xy): Ditto
* macfns.c (compute_tip_xy): Ditto
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Wed, 14 Dec 2005 20:58:33 +0000 |
parents | a82dd1079b45 |
children | cc04cc5f78a8 |
files | src/ChangeLog src/macfns.c src/w32fns.c src/xfns.c |
diffstat | 4 files changed, 21 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Wed Dec 14 20:49:46 2005 +0000 +++ b/src/ChangeLog Wed Dec 14 20:58:33 2005 +0000 @@ -1,3 +1,11 @@ +2005-12-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * xfns.c (compute_tip_xy): Handle negative dx and dy. + + * w32fns.c (compute_tip_xy): Ditto + + * macfns.c (compute_tip_xy): Ditto + 2005-12-14 Chong Yidong <cyd@stupidchicken.com> * print.c (print_preprocess): Go to a deeper print_depth to avoid
--- a/src/macfns.c Wed Dec 14 20:49:46 2005 +0000 +++ b/src/macfns.c Wed Dec 14 20:58:33 2005 +0000 @@ -3840,9 +3840,11 @@ if (INTEGERP (top)) *root_y = XINT (top); + else if (*root_y + XINT (dy) <= 0) + *root_y = 0; /* Can happen for negative dy */ else if (*root_y + XINT (dy) + height <= FRAME_MAC_DISPLAY_INFO (f)->height) /* It fits below the pointer */ - *root_y += XINT (dy); + *root_y += XINT (dy); else if (height + XINT (dy) <= *root_y) /* It fits above the pointer. */ *root_y -= height + XINT (dy); @@ -3852,6 +3854,8 @@ if (INTEGERP (left)) *root_x = XINT (left); + else if (*root_x + XINT (dx) <= 0) + *root_x = 0; /* Can happen for negative dx */ else if (*root_x + XINT (dx) + width <= FRAME_MAC_DISPLAY_INFO (f)->width) /* It fits to the right of the pointer. */ *root_x += XINT (dx);
--- a/src/w32fns.c Wed Dec 14 20:49:46 2005 +0000 +++ b/src/w32fns.c Wed Dec 14 20:58:33 2005 +0000 @@ -7411,6 +7411,8 @@ if (INTEGERP (top)) *root_y = XINT (top); + else if (*root_y + XINT (dy) <= 0) + *root_y = 0; /* Can happen for negative dy */ else if (*root_y + XINT (dy) + height <= FRAME_W32_DISPLAY_INFO (f)->height) /* It fits below the pointer */ *root_y += XINT (dy); @@ -7423,6 +7425,8 @@ if (INTEGERP (left)) *root_x = XINT (left); + else if (*root_x + XINT (dx) <= 0) + *root_x = 0; /* Can happen for negative dx */ else if (*root_x + XINT (dx) + width <= FRAME_W32_DISPLAY_INFO (f)->width) /* It fits to the right of the pointer. */ *root_x += XINT (dx);
--- a/src/xfns.c Wed Dec 14 20:49:46 2005 +0000 +++ b/src/xfns.c Wed Dec 14 20:58:33 2005 +0000 @@ -4940,6 +4940,8 @@ if (INTEGERP (top)) *root_y = XINT (top); + else if (*root_y + XINT (dy) <= 0) + *root_y = 0; /* Can happen for negative dy */ else if (*root_y + XINT (dy) + height <= FRAME_X_DISPLAY_INFO (f)->height) /* It fits below the pointer */ *root_y += XINT (dy); @@ -4952,6 +4954,8 @@ if (INTEGERP (left)) *root_x = XINT (left); + else if (*root_x + XINT (dx) <= 0) + *root_x = 0; /* Can happen for negative dx */ else if (*root_x + XINT (dx) + width <= FRAME_X_DISPLAY_INFO (f)->width) /* It fits to the right of the pointer. */ *root_x += XINT (dx);