changeset 136:2584a4646b41

Fixed a horrible bug in the code to remove user data from a window on OS/2 and Windows. Would cause a) memory leak b) loss of user data from a window.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 21 Oct 2002 11:41:30 +0000
parents f57ef391f104
children 6a18312049fd
files os2/dw.c win/dw.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/os2/dw.c	Mon Oct 21 04:29:47 2002 +0000
+++ b/os2/dw.c	Mon Oct 21 11:41:30 2002 +0000
@@ -7127,7 +7127,7 @@
 			{
 				free(tmp->varname);
 				free(tmp);
-				*root = NULL;
+				*root = tmp->next;
 				return 0;
 			}
 			else
@@ -7138,6 +7138,7 @@
 				return 0;
 			}
 		}
+		prev = tmp;
 		tmp = tmp->next;
 	}
 	return 0;
--- a/win/dw.c	Mon Oct 21 04:29:47 2002 +0000
+++ b/win/dw.c	Mon Oct 21 11:41:30 2002 +0000
@@ -7004,7 +7004,7 @@
 			{
 				free(tmp->varname);
 				free(tmp);
-				*root = NULL;
+				*root = tmp->next;
 				return 0;
 			}
 			else
@@ -7015,6 +7015,7 @@
 				return 0;
 			}
 		}
+		prev = tmp;
 		tmp = tmp->next;
 	}
 	return 0;