Mercurial > emacs
diff src/macfns.c @ 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 | 5b6c71adc503 |
| children | 8c306a35f0b0 |
line wrap: on
line diff
--- 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);
