changeset 166:fb2987817924

Optimize disabling of controls... if already disabled do nothing.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 19 Nov 2002 20:27:45 +0000
parents d03716228b7f
children 0b3debaa9c6c
files os2/dw.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/os2/dw.c	Mon Nov 18 15:24:01 2002 +0000
+++ b/os2/dw.c	Tue Nov 19 20:27:45 2002 +0000
@@ -4353,7 +4353,11 @@
 {
 	char tmpbuf[100];
 
+	if(dw_window_get_data(handle, "_dw_disabled"))
+		return;
+
 	WinQueryClassName(handle, 99, tmpbuf);
+	dw_window_set_data(handle, "_dw_disabled", (void *)1);
 
 	if(tmpbuf[0] == '#')
 	{
@@ -4372,7 +4376,6 @@
 			dw_signal_connect(hwnd ? hwnd : handle, "key_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
             if(val == 2)
 				dw_signal_connect(handle, "button_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
-			dw_window_set_data(handle, "_dw_disabled", (void *)1);
 			if(hwnd)
 				dw_window_set_data(hwnd, "_dw_disabled", (void *)1);
 			return;
@@ -4380,7 +4383,6 @@
 			_dw_window_set_color(handle, DW_CLR_DARKGRAY, DW_CLR_PALEGRAY);
 			dw_signal_connect(handle, "key_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
 			dw_signal_connect(handle, "button_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
-			dw_window_set_data(handle, "_dw_disabled", (void *)1);
 			return;
 		}
 	}