From a854a3a5e000ad0bb78d4bb51ecc8c408dd44ec6 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Mon, 12 Nov 2012 20:46:38 +0000 Subject: Fix registry handles not being closed (thanks Quasar). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2540 --- src/d_iwad.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/d_iwad.c b/src/d_iwad.c index 6d0ade26..a810f2a2 100644 --- a/src/d_iwad.c +++ b/src/d_iwad.c @@ -172,36 +172,30 @@ static char *GetRegistryString(registry_value_t *reg_val) // Open the key (directory where the value is stored) - if (RegOpenKeyEx(reg_val->root, reg_val->path, 0, KEY_READ, &key) - != ERROR_SUCCESS) + if (RegOpenKeyEx(reg_val->root, reg_val->path, + 0, KEY_READ, &key) != ERROR_SUCCESS) { return NULL; } - // Find the type and length of the string + result = NULL; - if (RegQueryValueEx(key, reg_val->value, NULL, &valtype, NULL, &len) - != ERROR_SUCCESS) - { - return NULL; - } - - // Only accept strings + // Find the type and length of the string, and only accept strings. - if (valtype != REG_SZ) + if (RegQueryValueEx(key, reg_val->value, + NULL, &valtype, NULL, &len) == ERROR_SUCCESS + && valtype == REG_SZ) { - return NULL; - } - - // Allocate a buffer for the value and read the value + // Allocate a buffer for the value and read the value - result = malloc(len); + result = malloc(len); - if (RegQueryValueEx(key, reg_val->value, NULL, &valtype, (unsigned char *) result, &len) - != ERROR_SUCCESS) - { - free(result); - return NULL; + if (RegQueryValueEx(key, reg_val->value, NULL, &valtype, + (unsigned char *) result, &len) != ERROR_SUCCESS) + { + free(result); + result = NULL; + } } // Close the key @@ -299,6 +293,8 @@ static void CheckSteamEdition(void) AddIWADDir(subpath); } + + free(install_path); } // Default install directories for DOS Doom -- cgit v1.2.3 From f5e5190c421c5a880ff3e6638e793b64195f4f02 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Fri, 14 Dec 2012 01:05:16 +0000 Subject: Rename function, as ShowCursor is a Windows function and this conflicts with it (thanks exp(x)). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2545 --- src/i_video.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/i_video.c b/src/i_video.c index 895043da..5c5d50aa 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -279,7 +279,7 @@ static void UpdateFocus(void) // Show or hide the mouse cursor. We have to use different techniques // depending on the OS. -static void ShowCursor(boolean show) +static void SetShowCursor(boolean show) { // On Windows, using SDL_ShowCursor() adds lag to the mouse input, // so work around this by setting an invisible cursor instead. On @@ -454,7 +454,7 @@ void I_ShutdownGraphics(void) { if (initialized) { - ShowCursor(true); + SetShowCursor(true); SDL_QuitSubSystem(SDL_INIT_VIDEO); @@ -754,15 +754,15 @@ static void UpdateGrab(void) { // Hide the cursor in screensaver mode - ShowCursor(false); + SetShowCursor(false); } else if (grab && !currently_grabbed) { - ShowCursor(false); + SetShowCursor(false); } else if (!grab && currently_grabbed) { - ShowCursor(true); + SetShowCursor(true); } currently_grabbed = grab; -- cgit v1.2.3