diff options
| author | José Fonseca <jfonseca@vmware.com> | 2009-05-06 19:58:08 +0100 | 
|---|---|---|
| committer | Keith Whitwell <keithw@vmware.com> | 2009-05-08 14:57:29 +0100 | 
| commit | d5eac43a2e06ff30f9e6f74e49493ef5d64cd309 (patch) | |
| tree | 1441b26ec4bee76ea629c5ed53685446d98cbb28 | |
| parent | d78b5952c10d5c65cd7d679b291c217ebd30cc4a (diff) | |
wgl: Enforce a minimum 1x1 framebuffer size.
| -rw-r--r-- | src/gallium/state_trackers/wgl/shared/stw_context.c | 27 | 
1 files changed, 19 insertions, 8 deletions
| diff --git a/src/gallium/state_trackers/wgl/shared/stw_context.c b/src/gallium/state_trackers/wgl/shared/stw_context.c index d532b1563b..b61f74f69b 100644 --- a/src/gallium/state_trackers/wgl/shared/stw_context.c +++ b/src/gallium/state_trackers/wgl/shared/stw_context.c @@ -278,19 +278,30 @@ stw_release_context(  /* Find the width and height of the window named by hdc.   */  static void -stw_get_window_size( HDC hdc, GLuint *width, GLuint *height ) +stw_get_window_size( HDC hdc, GLuint *pwidth, GLuint *pheight )  { -   if (WindowFromDC( hdc )) { -      RECT rect; +   GLuint width, height; +   HWND hwnd; -      GetClientRect( WindowFromDC( hdc ), &rect ); -      *width = rect.right - rect.left; -      *height = rect.bottom - rect.top; +   hwnd = WindowFromDC( hdc ); +   if (hwnd) { +      RECT rect; +      GetClientRect( hwnd, &rect ); +      width = rect.right - rect.left; +      height = rect.bottom - rect.top;     }     else { -      *width = GetDeviceCaps( hdc, HORZRES ); -      *height = GetDeviceCaps( hdc, VERTRES ); +      width = GetDeviceCaps( hdc, HORZRES ); +      height = GetDeviceCaps( hdc, VERTRES );     } + +   if(width < 1) +      width = 1; +   if(height < 1) +      height = 1; + +   *pwidth = width;  +   *pheight = height;   }  UINT_PTR | 
