diff -r 71dd06cfe933 -r 0aa5fbdfbc30 uifw/AvKon/aknhlist/src/akntreelist.cpp --- a/uifw/AvKon/aknhlist/src/akntreelist.cpp Wed Apr 14 16:14:00 2010 +0300 +++ b/uifw/AvKon/aknhlist/src/akntreelist.cpp Tue Apr 27 16:55:05 2010 +0300 @@ -402,22 +402,27 @@ if ( item && item->Parent() && item->Parent()->IsNode() ) { CAknTreeNode* node = item->Parent()->Node(); - TBool wasMarked = node->IsMarked(); - if ( node && node->IsMarkable() ) + if (node) { - if ( node->AllChildrenMarked() ) + TBool wasMarked = node->IsMarked(); + + if (node->IsMarkable()) { - node->SetMarked( ETrue ); - } - else + if (node->AllChildrenMarked()) + { + node->SetMarked(ETrue); + } + else + { + node->SetMarked(EFalse); + } + } + + if (wasMarked != node->IsMarked()) { - node->SetMarked( EFalse ); + Window().Invalidate(View().Rect()); } } - if ( wasMarked != node->IsMarked() ) - { - Window().Invalidate( View().Rect() ); - } } }