From cba1822d8d671dae1ce4083f10aa8a005df3c38a Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sat, 10 Aug 2002 10:47:33 +0000
Subject: [PATCH] JS_GetProperty will return TRUE even if the property doesn't
 exist but the val will be undefined.

---
 src/sbbs3/js_file_area.c | 2 +-
 src/sbbs3/js_msg_area.c  | 2 +-
 src/sbbs3/js_user.c      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/js_file_area.c b/src/sbbs3/js_file_area.c
index 7fd3a81c6c..dc8e363b66 100644
--- a/src/sbbs3/js_file_area.c
+++ b/src/sbbs3/js_file_area.c
@@ -78,7 +78,7 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_
 	JSBool		found;
 
 	/* Return existing object if it's already been created */
-	if(JS_GetProperty(cx,parent,"file_area",&val))
+	if(JS_GetProperty(cx,parent,"file_area",&val) && val!=JSVAL_VOID)
 		return(JSVAL_TO_OBJECT(val));
 
 	areaobj = JS_DefineObject(cx, parent, "file_area", &js_file_area_class, NULL, 0);
diff --git a/src/sbbs3/js_msg_area.c b/src/sbbs3/js_msg_area.c
index 18ba32c2c0..e70f55403c 100644
--- a/src/sbbs3/js_msg_area.c
+++ b/src/sbbs3/js_msg_area.c
@@ -130,7 +130,7 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t
 	JSBool		found;
 
 	/* Return existing object if it's already been created */
-	if(JS_GetProperty(cx,parent,"msg_area",&val))
+	if(JS_GetProperty(cx,parent,"msg_area",&val) && val!=JSVAL_VOID)
 		return(JSVAL_TO_OBJECT(val));
 
 	areaobj = JS_DefineObject(cx, parent, "msg_area", &js_msg_area_class, NULL, 0);
diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c
index 1da4e854a7..5f81a7ee96 100644
--- a/src/sbbs3/js_user.c
+++ b/src/sbbs3/js_user.c
@@ -750,7 +750,7 @@ JSObject* DLLCALL js_CreateUserObject(JSContext* cx, JSObject* parent, scfg_t* c
 	jsval		val;
 
 	/* Return existing user object if it's already been created */
-	if(JS_GetProperty(cx,parent,name,&val))
+	if(JS_GetProperty(cx,parent,name,&val) && val!=JSVAL_VOID)
 		return(JSVAL_TO_OBJECT(val));
 
 	userobj = JS_DefineObject(cx, parent, name, &js_user_class, NULL, 0);
-- 
GitLab