Mercurial > mplayer.hg
changeset 26405:d557441dc9c5
Always calculate the xinerama screen mplayer is on.
Bug reported by thomas.lindroth(<at>)gmail.com
author | attila |
---|---|
date | Sun, 13 Apr 2008 11:08:59 +0000 |
parents | d549dcb766df |
children | 92037292fe2b |
files | libvo/x11_common.c |
diffstat | 1 files changed, 3 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/x11_common.c Sun Apr 13 10:59:11 2008 +0000 +++ b/libvo/x11_common.c Sun Apr 13 11:08:59 2008 +0000 @@ -368,6 +368,9 @@ void update_xinerama_info(void) { int screen = xinerama_screen; + // center coordinates of the window + int x = vo_dx + vo_dwidth / 2; + int y = vo_dy + vo_dheight / 2; xinerama_x = xinerama_y = 0; #ifdef HAVE_XINERAMA if (screen >= -1 && XineramaIsActive(mDisplay)) @@ -376,11 +379,6 @@ int num_screens; screens = XineramaQueryScreens(mDisplay, &num_screens); - if (screen >= num_screens) - screen = num_screens - 1; - if (screen == -1) { - int x = vo_dx + vo_dwidth / 2; - int y = vo_dy + vo_dheight / 2; for (screen = num_screens - 1; screen > 0; screen--) { int left = screens[screen].x_org; int right = left + screens[screen].width; @@ -389,7 +387,6 @@ if (left <= x && x <= right && top <= y && y <= bottom) break; } - } if (screen < 0) screen = 0; vo_screenwidth = screens[screen].width;