diff options
author | Hans de Goede <hdegoede@redhat.com> | 2010-12-15 15:25:07 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2010-12-16 16:30:38 +0100 |
commit | c55e5a5be3d870f43e3100357af77023bfe6a84f (patch) | |
tree | 92fc33a4810ae854893880b3fe0e7c9a937a8c06 /client/red_gdi_canvas.h | |
parent | f2eceb91c70ce6203a910084da5915eda8db95e9 (diff) | |
download | spice-c55e5a5be3d870f43e3100357af77023bfe6a84f.tar.gz spice-c55e5a5be3d870f43e3100357af77023bfe6a84f.tar.xz spice-c55e5a5be3d870f43e3100357af77023bfe6a84f.zip |
spicec-x11: Let the window manager place our window the 1st time (rhbz#662407)
The problem is that RedWindow::show calls the XLib MoveWindow function
on the window after it has been mapped, moving it to the location in
_show_pos. This is seen by the window manager as the application saying
I know exactly where I want my window to be placed, don't do placing for
me. Which causes the client window to always be shown at pos 0x0, even
though that may not be the best location.
What this patch does is:
1) It makes RedWindow::show not call MoveWindow when a window is
first created normally and then shown
2) It makes RedWindow::show still call MoveWindow when:
-when the window has been shown before, and was hidden for some
reason (controller interface), and is now being re-shown
so that it ends up being re-shown at its old position
-when the window is a fullscreen window (screen.cpp always
calls move on the window before showing it to set its position)
-when the user switch from windowed mode -> fullscreen ->
windowed mode again, to make sure that the windowed mode window
is shown in the same position as before switching to fullscreen
mode
Diffstat (limited to 'client/red_gdi_canvas.h')
0 files changed, 0 insertions, 0 deletions