shell: Respect output transformation for input panel surface

Rather than using the dimensions in the mode we can use the recently
added output width and height members which are updated to reflect any
output rotation.

https://bugs.freedesktop.org/show_bug.cgi?id=66798
dev
Rob Bradford 12 years ago committed by Kristian Høgsberg
parent 3c9d967688
commit bdeb5d224d
  1. 7
      src/shell.c

@ -3732,7 +3732,6 @@ input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy, in
{ {
struct input_panel_surface *ip_surface = surface->configure_private; struct input_panel_surface *ip_surface = surface->configure_private;
struct desktop_shell *shell = ip_surface->shell; struct desktop_shell *shell = ip_surface->shell;
struct weston_mode *mode;
float x, y; float x, y;
uint32_t show_surface = 0; uint32_t show_surface = 0;
@ -3752,10 +3751,8 @@ input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy, in
x = shell->text_input.surface->geometry.x + shell->text_input.cursor_rectangle.x2; x = shell->text_input.surface->geometry.x + shell->text_input.cursor_rectangle.x2;
y = shell->text_input.surface->geometry.y + shell->text_input.cursor_rectangle.y2; y = shell->text_input.surface->geometry.y + shell->text_input.cursor_rectangle.y2;
} else { } else {
mode = ip_surface->output->current; x = ip_surface->output->x + (ip_surface->output->width - width) / 2;
y = ip_surface->output->y + ip_surface->output->height - height;
x = ip_surface->output->x + (mode->width - width) / 2;
y = ip_surface->output->y + mode->height - height;
} }
weston_surface_configure(surface, weston_surface_configure(surface,

Loading…
Cancel
Save