Commit 72e4adef authored by Jason Rumney's avatar Jason Rumney
Browse files

(compute_tip_xy): If tooltip won't fit on the screen

to the left or to the right of the pointer, put it against
the left screen edge.
(x_frame_parms): Add missing braces around initializer.
parent 453c5510
...@@ -704,32 +704,31 @@ static void x_edge_detection P_ ((struct frame *, struct image *, Lisp_Object, ...@@ -704,32 +704,31 @@ static void x_edge_detection P_ ((struct frame *, struct image *, Lisp_Object,
static struct x_frame_parm_table x_frame_parms[] = static struct x_frame_parm_table x_frame_parms[] =
{ {
"auto-raise", x_set_autoraise, {"auto-raise", x_set_autoraise},
"auto-lower", x_set_autolower, {"auto-lower", x_set_autolower},
"background-color", x_set_background_color, {"background-color", x_set_background_color},
"border-color", x_set_border_color, {"border-color", x_set_border_color},
"border-width", x_set_border_width, {"border-width", x_set_border_width},
"cursor-color", x_set_cursor_color, {"cursor-color", x_set_cursor_color},
"cursor-type", x_set_cursor_type, {"cursor-type", x_set_cursor_type},
"font", x_set_font, {"font", x_set_font},
"foreground-color", x_set_foreground_color, {"foreground-color", x_set_foreground_color},
"icon-name", x_set_icon_name, {"icon-name", x_set_icon_name},
"icon-type", x_set_icon_type, {"icon-type", x_set_icon_type},
"internal-border-width", x_set_internal_border_width, {"internal-border-width", x_set_internal_border_width},
"menu-bar-lines", x_set_menu_bar_lines, {"menu-bar-lines", x_set_menu_bar_lines},
"mouse-color", x_set_mouse_color, {"mouse-color", x_set_mouse_color},
"name", x_explicitly_set_name, {"name", x_explicitly_set_name},
"scroll-bar-width", x_set_scroll_bar_width, {"scroll-bar-width", x_set_scroll_bar_width},
"title", x_set_title, {"title", x_set_title},
"unsplittable", x_set_unsplittable, {"unsplittable", x_set_unsplittable},
"vertical-scroll-bars", x_set_vertical_scroll_bars, {"vertical-scroll-bars", x_set_vertical_scroll_bars},
"visibility", x_set_visibility, {"visibility", x_set_visibility},
"tool-bar-lines", x_set_tool_bar_lines, {"tool-bar-lines", x_set_tool_bar_lines},
"screen-gamma", x_set_screen_gamma, {"screen-gamma", x_set_screen_gamma},
"line-spacing", x_set_line_spacing, {"line-spacing", x_set_line_spacing},
"left-fringe", x_set_fringe_width, {"left-fringe", x_set_fringe_width},
"right-fringe", x_set_fringe_width {"right-fringe", x_set_fringe_width}
}; };
/* Attach the `x-frame-parameter' properties to /* Attach the `x-frame-parameter' properties to
...@@ -13432,10 +13431,15 @@ compute_tip_xy (f, parms, dx, dy, width, height, root_x, root_y) ...@@ -13432,10 +13431,15 @@ compute_tip_xy (f, parms, dx, dy, width, height, root_x, root_y)
if (INTEGERP (left)) if (INTEGERP (left))
*root_x = XINT (left); *root_x = XINT (left);
else if (*root_x + XINT (dx) + width > FRAME_W32_DISPLAY_INFO (f)->width) 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);
else if (width + XINT (dx) <= *root_x)
/* It fits to the left of the pointer. */
*root_x -= width + XINT (dx); *root_x -= width + XINT (dx);
else else
*root_x += XINT (dx); /* Put it left justified on the screen -- it ought to fit that way. */
*root_x = 0;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment