# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1049364822 0 # Node ID be76b984620a7733c6004f18698495e38550869a # Parent ae5b1eecea1234b91b114c8915c7d5352aeb3b70 Make sure dw_tree_item_select() does not cause a DW_SIGNAL_ITEM_SELECT. diff -r ae5b1eecea12 -r be76b984620a win/dw.c --- 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 */