summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2012-02-10 15:03:41 +0000
committerJon TURNEY <jon.turney@dronecode.org.uk>2012-02-10 15:12:40 +0000
commit5e5c61f9eb083c54a31f75aff33387321111fade (patch)
tree03943be372a310c0d985f2d601c7c0be8f233797
parent3fd7a96997b6ec6077c099bb0b4197d021a6097a (diff)
Windowed mode AIGLX drawing fix: Ensure WM_PAINT is sent when a window with OpenGL drawing is movedwindowed-mode-aiglx
When a OpenGL child window is moved or resized, force it to be redrawn, so that any OpenGL content is re-drawn correctly, rather than trying to copy the bits which we don't have available.
-rw-r--r--hw/xwin/glx/winpriv.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/xwin/glx/winpriv.c b/hw/xwin/glx/winpriv.c
index 8114a56d1..599291a0b 100644
--- a/hw/xwin/glx/winpriv.c
+++ b/hw/xwin/glx/winpriv.c
@@ -79,6 +79,16 @@ winGlChildWindowProc (HWND hwnd, UINT message,
case WM_ERASEBKGND:
return TRUE;
+ case WM_WINDOWPOSCHANGING:
+ {
+ /*
+ When window is moved or resized, force it to be redrawn, so that
+ any OpenGL content is re-drawn correctly, rather than copying bits
+ */
+ LPWINDOWPOS pWinPos = (LPWINDOWPOS)lParam;
+ pWinPos->flags |= SWP_NOCOPYBITS;
+ }
+ break;
case WM_PAINT:
/*