diff libvo/w32_common.c @ 24314:20359547f3c3

Remove global vo_hdc, since it is recommended to release a DC as soon as possible.
author reimar
date Mon, 03 Sep 2007 08:44:36 +0000
parents 58bd3640c0c2
children 12f2487fb845
line wrap: on
line diff
--- a/libvo/w32_common.c	Mon Sep 03 08:36:27 2007 +0000
+++ b/libvo/w32_common.c	Mon Sep 03 08:44:36 2007 +0000
@@ -20,7 +20,6 @@
 
 static const char* classname = "MPlayer - Media player for Win32";
 int vo_vm = 0;
-HDC vo_hdc = 0;
 
 // last non-fullscreen extends
 int prev_width;
@@ -250,6 +249,7 @@
 static int createRenderingContext(void) {
     HWND layer = HWND_NOTOPMOST;
     PIXELFORMATDESCRIPTOR pfd;
+    HDC vo_hdc = GetDC(vo_window);
     RECT r;
     int pf;
   if (WinID < 0) {
@@ -308,6 +308,7 @@
     pf = ChoosePixelFormat(vo_hdc, &pfd);
     if (!pf) {
             mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to select a valid pixel format!\n");
+        ReleaseDC(vo_hdc);
         return 0;
     }
 
@@ -315,6 +316,7 @@
     
     mp_msg(MSGT_VO, MSGL_V, "vo: win32: running at %dx%d with depth %d\n", vo_screenwidth, vo_screenheight, vo_depthonscreen);
 
+    ReleaseDC(vo_hdc);
     return 1;
 }
 
@@ -369,8 +371,6 @@
     }
     }
 
-    vo_hdc = GetDC(vo_window);
-
     myMonitorFromWindow = NULL;
     myGetMonitorInfo = NULL;
     myEnumDisplayMonitors = NULL;