Fixed window position being incorrect on some WMs.

This commit is contained in:
arturo 2013-07-30 15:52:23 +02:00 committed by Camilla Berglund
parent 670070e61a
commit a6a5fa937c
2 changed files with 14 additions and 0 deletions

View File

@ -122,6 +122,8 @@ See the [GLFW documentation](http://www.glfw.org/docs/latest/).
of the actual resolution of the selected video mode
- [X11] Bugfix: Screensaver override for full screen windows had a possible
race condition
- [X11] Bugfix: The reported window position did not account for the size of
the window frame on some WMs
## Contact
@ -151,6 +153,7 @@ skills.
- Bobyshev Alexander
- artblanc
- arturo
- Matt Arsenault
- Keith Bauer
- John Bartholomew

View File

@ -985,6 +985,17 @@ void _glfwPlatformGetWindowPos(_GLFWwindow* window, int* xpos, int* ypos)
XTranslateCoordinates(_glfw.x11.display, window->x11.handle, _glfw.x11.root,
0, 0, &x, &y, &child);
if (child != None)
{
int left, top;
XTranslateCoordinates(_glfw.x11.display, window->x11.handle, child,
0, 0, &left, &top, &child);
x -= left;
y -= top;
}
if (xpos)
*xpos = x;
if (ypos)