(svn r1532) -Fix: [1103078] default service period patch options are now cast to 0 with right variable size.
authordarkvater
Sun, 16 Jan 2005 00:23:19 +0000
changeset 1031 93393e1c8f9c
parent 1030 a5e4705a738c
child 1032 6020f9143b17
(svn r1532) -Fix: [1103078] default service period patch options are now cast to 0 with right variable size.
settings_gui.c
--- a/settings_gui.c	Sat Jan 15 21:41:49 2005 +0000
+++ b/settings_gui.c	Sun Jan 16 00:23:19 2005 +0000
@@ -737,7 +737,18 @@
 {
 
 	if ((pe->flags & PF_0ISDIS) && val <= 0) {
-		*(bool*)pe->variable = 0; // "clamp" 'disabled' value to smallest type, PE_BOOL
+		// "clamp" 'disabled' value to smallest type
+		switch (pe->type) {
+			case PE_BOOL: case PE_UINT8:
+				*(bool*)pe->variable = 0;
+				break;
+			case PE_INT16: case PE_UINT16:
+				*(int16*)pe->variable = 0;
+				break;
+			case PE_CURRENCY: case PE_INT32:
+				*(int32*)pe->variable = 0;
+				break;
+		}
 		return;
 	}