changeset 321:be76b984620a

Make sure dw_tree_item_select() does not cause a DW_SIGNAL_ITEM_SELECT.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 03 Apr 2003 10:13:42 +0000
parents ae5b1eecea12
children 78be9770960c
files win/dw.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/win/dw.c	Thu Apr 03 09:57:24 2003 +0000
+++ b/win/dw.c	Thu Apr 03 10:13:42 2003 +0000
@@ -1487,7 +1487,7 @@
 							{
 								if(tem->hdr.code == TVN_SELCHANGED && tmp->message == TVN_SELCHANGED)
 								{
-									if(tmp->window == tem->hdr.hwndFrom)
+									if(tmp->window == tem->hdr.hwndFrom && !dw_window_get_data(tmp->window, "_dw_select_item"))
 									{
 										int (*treeselectfunc)(HWND, HWND, char *, void *, void *) = tmp->signalfunction;
 										TVITEM tvi;
@@ -5868,7 +5868,9 @@
  */
 void API dw_tree_item_select(HWND handle, HWND item)
 {
+	dw_window_set_data(handle, "_dw_select_item", (void *)1);
 	TreeView_SelectItem(handle, (HTREEITEM)item);
+	dw_window_set_data(handle, "_dw_select_item", (void *)0);
 }
 
 /* Delete all tree subitems */