--- a/uiacceltk/hitchcock/ServerCore/Src/alfhierarchymodel.cpp Tue Feb 02 07:56:43 2010 +0200
+++ b/uiacceltk/hitchcock/ServerCore/Src/alfhierarchymodel.cpp Fri Mar 19 09:43:21 2010 +0200
@@ -70,9 +70,16 @@
{
iServer.Bridge()->SetBatchObserver(this);
}
-#ifdef ALF_DEBUG_TRACK_DRAWING
+ #ifdef ALF_DEBUG_TRACK_DRAWING
iCommandDebugger = CAlfCommandDebug::NewL();
-#endif
+ #endif
+
+ #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
+ // Initiliaze global data in TLS and Open global module testing chunk and mutex
+ User::LeaveIfError(Dll::SetTls(new(ELeave) CAlfModuleTestDataControl()));
+ User::LeaveIfError(AMT_CONTROL()->OpenGlobalObjects());
+ #endif
+
}
// ---------------------------------------------------------------------------
@@ -132,6 +139,11 @@
#ifdef ALF_DEBUG_TRACK_DRAWING
delete iCommandDebugger;
#endif
+
+#ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
+ delete AMT_CONTROL();
+ Dll::FreeTls();
+#endif
}
// ---------------------------------------------------------------------------
@@ -233,6 +245,13 @@
aMessage.Complete( EAlfBridgerSendChunk );
return;
}
+ case EAlfSynchronize:
+ {
+ iServer.Bridge()->AddData( EAlfDSSynchronize, aMessage.Int0() );
+ aMessage.Complete( KErrNone );
+ }
+ break;
+
default:
{
doComplete= ETrue;
@@ -768,6 +787,10 @@
//CAlfNode::PrintInfo( 0, (CAlfNodeVisual*)node, TPtrC(KText) , iSearchNode);
}
#endif
+
+ AMT_INC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeCount );
+ AMT_INC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeGroup), iWindowGroupNodeCount );
+ AMT_INC_COUNTER_IF(node, iTotalNodeCount );
}
// ---------------------------------------------------------------------------
@@ -797,6 +820,10 @@
{
USER_INVARIANT();
}
+
+ AMT_DEC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeCount );
+ AMT_DEC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeGroup), iWindowGroupNodeCount );
+ AMT_DEC_COUNTER_IF(node, iTotalNodeCount );
}
// ---------------------------------------------------------------------------
@@ -816,6 +843,8 @@
{
USER_INVARIANT();
}
+
+ AMT_INC_COUNTER_IF( node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeActivatedCount );
}
// ---------------------------------------------------------------------------
@@ -846,6 +875,8 @@
}
#endif
+ AMT_INC_COUNTER_IF(node, iNodeExtentChangedCount );
+ AMT_SET_VALUE_IF(node, iLatestNodeExtentRect, rect );
}
// ---------------------------------------------------------------------------
@@ -860,7 +891,11 @@
CAlfNode* node = FindNode( nodeId );
if ( node )
{
+ AMT_SET_VALUE(iAST_Temp1, node->OrdinalPosition());
+
node->SiblingOrderChanged( newPos );
+
+ AMT_SET_VALUE(iOrdinalChange, node->OrdinalPosition() - AMT_DATA()->iAST_Temp1);
}
else
{
@@ -901,6 +936,8 @@
{
USER_INVARIANT();
}
+
+ AMT_INC_COUNTER_IF(node, iTotalNodeFlagChangedCount );
}
// ---------------------------------------------------------------------------
@@ -978,11 +1015,16 @@
TUint32 nodeId = (TUint32)iStream->ReadUint32L();
TRect extent = TRect(0,0,0,0);
ReadRectL(extent, iStream);
+ TBool isDSA = (TUint32)iStream->ReadUint32L();
CAlfNodeVisual* node = (CAlfNodeVisual*)FindNode( nodeId );
if ( node && node->Window() )
{
// SetSurfaceExtent is not supported for image visual
node->Window()->SetSurfaceExtent( extent );
+ if (isDSA)
+ {
+ node->Window()->SetLayerUsesAplhaFlag(KWindowIsDSAHost);
+ }
}
else if( node ) // this would mean that node has being orphaneded but not yet deleted
{
@@ -1082,6 +1124,8 @@
{
USER_INVARIANT(); // attribute change for unexpected node type. new code needed!
}
+
+ AMT_INC_COUNTER_IF(node, iTotalNodeAttributeChangedCount );
}
// ---------------------------------------------------------------------------
// DoNodeWindowGroupChainBrokenAfterL