Section on/off problems solved
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@830 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
1461e648c5
commit
5bba364e31
1 changed files with 6 additions and 6 deletions
|
@ -160,7 +160,7 @@ void NSISCALL build_g_logfile()
|
||||||
static void NSISCALL SetChildrenStates(HWND hWnd, TV_ITEM *pItem, int iState) {
|
static void NSISCALL SetChildrenStates(HWND hWnd, TV_ITEM *pItem, int iState) {
|
||||||
HTREEITEM hItem;
|
HTREEITEM hItem;
|
||||||
int l=0;
|
int l=0;
|
||||||
section sec;
|
int *def_state;
|
||||||
|
|
||||||
pItem->mask|=TVIF_PARAM;
|
pItem->mask|=TVIF_PARAM;
|
||||||
|
|
||||||
|
@ -168,17 +168,17 @@ static void NSISCALL SetChildrenStates(HWND hWnd, TV_ITEM *pItem, int iState) {
|
||||||
if (pItem->state >> 12 == 0)
|
if (pItem->state >> 12 == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sec=g_inst_section[pItem->lParam];
|
def_state=&g_inst_section[pItem->lParam].default_state;
|
||||||
|
|
||||||
if (iState < 3 && (sec.default_state & DFS_RO)) l=3;
|
if (iState < 3 && (*def_state & DFS_RO)) l=3;
|
||||||
|
|
||||||
pItem->state = INDEXTOSTATEIMAGEMASK(iState+l);
|
pItem->state = INDEXTOSTATEIMAGEMASK(iState+l);
|
||||||
pItem->stateMask = TVIS_STATEIMAGEMASK;
|
pItem->stateMask = TVIS_STATEIMAGEMASK;
|
||||||
|
|
||||||
if (!(sec.default_state & DFS_RO))
|
if (!(*def_state & DFS_RO))
|
||||||
{
|
{
|
||||||
if (iState == 2) sec.default_state |= DFS_SET;
|
if (iState == 2) *def_state |= DFS_SET;
|
||||||
else sec.default_state &= ~DFS_SET;
|
else *def_state &= ~DFS_SET;
|
||||||
TreeView_SetItem(hWnd, pItem);
|
TreeView_SetItem(hWnd, pItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue