Mesa (master): wgl: Enforce a minimum 1x1 framebuffer size.

Keith Whitwell keithw at kemper.freedesktop.org
Fri May 8 09:04:21 UTC 2009


Module: Mesa
Branch: master
Commit: 26ffd445861f405e295644df1cbac29458a6054f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26ffd445861f405e295644df1cbac29458a6054f

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed May  6 19:58:08 2009 +0100

wgl: Enforce a minimum 1x1 framebuffer size.

---

 .../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 d532b15..b61f74f 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




More information about the mesa-commit mailing list