Revision: 201003 PDK_3.0.g
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 00:28:09 +0200
changeset 3 4526337fb576
parent 2 b1a1f09f9110
child 7 c2c0f97004fc
child 8 b802b04b6cfa
child 17 3eca7e70b1b8
Revision: 201003 Kit: 201005
inc/alf/alfperf.h
inc/alf/alfperformance.h
mulwidgets/common/inc/mulperf.h
mulwidgets/common/inc/mulperformance.h
mulwidgets/gesturehelper/src/gesturehelperimpl.cpp
mulwidgets/mullogging/src/mullogger.cpp
widgetmodel/alfwidgetmodel/src/alfanimationoutput.cpp
widgetmodel/alfwidgetmodel/src/alfelement.cpp
widgetmodel/alfwidgetmodel/src/alfmodel.cpp
widgetmodel/alfwidgetmodel/src/alfsort.cpp
widgetmodel/alfwidgetmodel/src/alfvarianttype.cpp
widgetmodel/alfwidgetmodel/src/alfvisualtemplate.cpp
--- a/inc/alf/alfperf.h	Mon Jan 18 20:36:54 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines macros to log performance related details
-*
-*/
-
-
-#ifndef ALFPERF_H
-#define ALFPERF_H
-#include "alf/alfwidgetmodeldefines.hrh"
-#ifdef ALF_DEBUG_PERFORMANCE
-#include "alf/alfperformance.h"
-  #define ALF_PERF_START(p1,p2) CAlfPerformance::TPerfData* p1=CAlfPerformance::StartTestCase(_L(p2));
-  #define ALF_PERF_STOP(p1,p2) CAlfPerformance::StopTestCase(p1,_L(p2));
-#else
-  #define ALF_PERF_START(p1,p2)
-  #define ALF_PERF_STOP(p1,p2)
-#endif
-
-#endif //ALFPERF_H
\ No newline at end of file
--- a/inc/alf/alfperformance.h	Mon Jan 18 20:36:54 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Perf log Header.
-*
-*/
-
-#ifndef ALFPERFORMANCE_H
-#define ALFPERFORMANCE_H
-
-//  INCLUDES
-#include <e32debug.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <hal.h>
-#include <e32cmn.h>
-#include <flogger.h>
-#include <f32file.h>
-
-_LIT(KLogFileName,"alfperf.log");
-_LIT(KLogFileDir,"alflogs");
-_LIT(KLogFileRootDir,"c:\\logs\\");
-
-class CAlfPerformance : public CBase
-    {
-    public:
-        struct TPerfData
-            {
-            TTime iStartTime;
-            TInt iStartMemory;
-            };
-
-    public:  // Constructors and destructor
-        static CAlfPerformance* NewL();
-        virtual ~CAlfPerformance();
-
-    public: // New functions
-        inline static void PrintUserMem(const TDesC& aMsg);
-        inline static TPerfData* StartTestCase(const TDesC& aMsg = KNullDesC);
-        inline static void StopTestCase(TPerfData* aData, const TDesC& aMsg = KNullDesC);
-        //creates log file if it doesn't exist already
-        inline static void CreateLogFile();
-    private:
-        CAlfPerformance();
-        void ConstructL();
-    };
-
-inline void CAlfPerformance::PrintUserMem(const TDesC& aMsg)
-    {
-    TBuf<512> buffer;
-    TInt freeRAM;
-    HAL::Get(HALData::EMemoryRAMFree, freeRAM);
-    RHeap heap = User::Heap();
-    heap.Open();
-    TInt _size = heap.Size();
-    TInt largest = 0;
-    TInt available = heap.Available(largest);
-    heap.Close();
-    _LIT( KMemoryFormat, "FreeRAM: %d kB, User: - heap %d kB, available %d kB, largest block %d kB" );
-    buffer.Format(KMemoryFormat, freeRAM / 1024, _size / 1024, available / 1024, largest / 1024);
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat( KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("RAM - %S - %S"), &aMsg, &buffer);
-    }
-
-inline CAlfPerformance::TPerfData* CAlfPerformance::StartTestCase(const TDesC& aMsg)
-    {
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("Test case %S starts"), &aMsg);
-    CAlfPerformance::TPerfData* data = new (ELeave) TPerfData;
-    TTime readyTime;
-    data->iStartTime.HomeTime();
-    User::AllocSize(data->iStartMemory);
-    return data;
-    }
-
-inline void CAlfPerformance::StopTestCase(CAlfPerformance::TPerfData* aData, const TDesC& aMsg)
-    {
-    if(!aData)
-        {
-        return;
-        }
-    TTime readyTime;
-    readyTime.HomeTime();
-    TTimeIntervalMicroSeconds delay = readyTime.MicroSecondsFrom(aData->iStartTime);
-    TTime transferTime(delay.Int64());
-    TBuf<64> timeString;
-    transferTime.FormatL(timeString, _L("- Elapsed time: %S%C microseconds"));
-    TBuf<256> tmp;
-    tmp.Append(timeString);
-
-    RFileLogger::Write(KLogFileDir,KLogFileName,EFileLoggingModeAppend,tmp);
-    // Memory consumption
-    TInt endMemory;
-    User::AllocSize(endMemory); 
-
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("- Allocated memory: %d kB"), (endMemory - aData->iStartMemory) / 1024);
-    delete aData;
-    aData = NULL;
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("Test case %S ends"), &aMsg);
-    }
-inline void CAlfPerformance::CreateLogFile()
-    {
-        RFs fsSession;
-        RFile file;
-        User::LeaveIfError(fsSession.Connect());
-        TFileName filename;
-        filename.Append(KLogFileRootDir);
-        filename.Append(KLogFileDir);
-        filename.Append(_L("\\"));
-        //create logs directory if it doesn't exist
-        fsSession.MkDir(filename);
-        filename.Append(KLogFileName);
-        //check if log file already exists
-        TInt retStatus = file.Open(fsSession,filename,EFileRead);
-        if(retStatus == KErrNotFound)
-            file.Create(fsSession,filename,EFileWrite);         //create a new log file
-        file.Close();
-        fsSession.Close();
-    }
-#endif // ALFPERFORMANCE_H
-            
-// End of File
--- a/mulwidgets/common/inc/mulperf.h	Mon Jan 18 20:36:54 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines macros to log performance related details
-*
-*/
-
-
-#ifndef MULPERF_H
-#define MULPERF_H
-#include "mului.hrh"
-#ifdef MUL_DEBUG_PERFORMANCE
-#include "MULperformance.h"
-#define MUL_PERF_START(p1,p2) CMulPerf::TPerfData* p1 = CMulPerf::StartTestCase(_L(p2));
-#define MUL_PERF_STOP(p1,p2) CMulPerf::StopTestCase(p1,_L(p2));
-#else
-#define MUL_PERF_START(p1,p2)
-#define MUL_PERF_STOP(p1,p2)
-#endif
-
-#endif //MULPERF_H
\ No newline at end of file
--- a/mulwidgets/common/inc/mulperformance.h	Mon Jan 18 20:36:54 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Perf log header.
-*
-*/
-
-#ifndef CMULPERF_H
-#define CMULPERF_H
-
-//  INCLUDES
-#include <e32debug.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <hal.h>
-#include <e32cmn.h>
-#include <flogger.h>
-#include <f32file.h>
-
-_LIT(KLogFileName,"mulperf.log");
-_LIT(KLogFileDir,"mullogs");
-_LIT(KLogFileRootDir,"c:\\logs\\");
-
-/**
- *  @class CMulPerf
- *
- *  Provides API to measure performance (memory and time). Results are saved to a file.
- *
- *  @lib duiengine.lib
- *  @since Series 60 5.0
- */
-class CMulPerf : public CBase
-    {
-public:
-    /**
-     * Struct which holds data before measuring is started.
-     */
-    struct TPerfData
-        {
-        /**
-         * Time when measure starts
-         */
-        TTime iStartTime;
-
-        /**
-         * Memory when measure starts
-         */
-        TInt iStartMemory;
-        };
-
-public:  // Constructors and destructor
-    /**
-     * Constructor.
-     */
-    static CMulPerf* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CMulPerf();
-
-public: // New functions
-    /**
-     * Prints current amount of memory to file.
-     *
-     * @param aMsg User defined message which is printed before amount of memory
-     */
-    inline static void PrintUserMem(const TDesC& aMsg);
-
-    /**
-     * Saves current amount of memory and time and returns those to user.
-     *
-     * @param aMsg User defined message.
-     * @return TPerfData which holds current memory consumption and time.
-     */
-    inline static TPerfData* StartTestCase(const TDesC& aMsg = KNullDesC);
-
-    /**
-     * Reads current amount of memory and time and calculates performance using
-     * values got from StartTestCase.
-     *
-     * @param aData Data which has got when calling StartTestCase.
-     * @param aMsg User defined message.
-     */
-    inline static void StopTestCase(TPerfData* aData, const TDesC& aMsg = KNullDesC);
-
-    /**
-     * Create file where results are written to.
-     */
-    inline static void CreateLogFile();
-private:
-    /**
-     * Internal constructor.
-     */
-    CMulPerf();
-
-    /**
-     * Internal constructor.
-     */
-    void ConstructL();
-    };
-
-inline void CMulPerf::PrintUserMem(const TDesC& aMsg)
-    {
-    TBuf<512> buffer;
-    TInt freeRAM;
-    HAL::Get(HALData::EMemoryRAMFree, freeRAM);
-    RHeap heap = User::Heap();
-    heap.Open();
-    TInt _size = heap.Size();
-    TInt largest = 0;
-    TInt available = heap.Available(largest);
-    heap.Close();
-    _LIT( KMemoryFormat, "FreeRAM: %d kB, User: - heap %d kB, available %d kB, largest block %d kB" );
-    buffer.Format(KMemoryFormat, freeRAM / 1024, _size / 1024, available / 1024, largest / 1024);
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat( KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("RAM - %S - %S"), &aMsg, &buffer);
-    }
-
-inline CMulPerf::TPerfData* CMulPerf::StartTestCase(const TDesC& aMsg)
-    {
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("Test case %S starts"), &aMsg);
-    CMulPerf::TPerfData* data = new (ELeave) TPerfData;
-    TTime readyTime;
-    data->iStartTime.HomeTime();
-    User::AllocSize(data->iStartMemory);
-    return data;
-    }
-
-inline void CMulPerf::StopTestCase(CMulPerf::TPerfData* aData, const TDesC& aMsg)
-    {
-    if (!aData)
-        {
-        return;
-        }
-    TTime readyTime;
-    readyTime.HomeTime();
-    TTimeIntervalMicroSeconds delay = readyTime.MicroSecondsFrom(aData->iStartTime);
-    TTime transferTime(delay.Int64());
-    TBuf<64> timeString;
-    transferTime.FormatL(timeString, _L("- Elapsed time: %S%C microseconds"));
-    TBuf<256> tmp;
-    tmp.Append(timeString);
-
-    RFileLogger::Write(KLogFileDir,KLogFileName,EFileLoggingModeAppend,tmp);
-    // Memory consumption
-    TInt endMemory;
-    User::AllocSize(endMemory);
-
-    CreateLogFile();
-    //Write logs into file
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("- Allocated memory: %d kB"), (endMemory - aData->iStartMemory) / 1024);
-    delete aData;
-    aData = NULL;
-    RFileLogger::WriteFormat(KLogFileDir,KLogFileName,EFileLoggingModeAppend,_L("Test case %S ends"), &aMsg);
-    }
-inline void CMulPerf::CreateLogFile()
-    {
-    RFs fsSession;
-    RFile file;
-    User::LeaveIfError(fsSession.Connect());
-    TFileName filename;
-    filename.Append(KLogFileRootDir);
-    filename.Append(KLogFileDir);
-    filename.Append(_L("\\"));
-    //create logs directory if it doesn't exist
-    fsSession.MkDir(filename);
-    filename.Append(KLogFileName);
-    //check if log file already exists
-    TInt retStatus = file.Open(fsSession,filename,EFileRead);
-    if (retStatus == KErrNotFound)
-        file.Create(fsSession,filename,EFileWrite);         //create a new log file
-    file.Close();
-    fsSession.Close();
-    }
-#endif // CMULPERF_H
-
-// End of File
--- a/mulwidgets/gesturehelper/src/gesturehelperimpl.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/mulwidgets/gesturehelper/src/gesturehelperimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -286,11 +286,25 @@
                 }
             else if( iPointerCount == 2 )
                 {
+                // This case is similar to reciving a pointer up on the pointer
+                // on which the second down is recieved. We reset all the earlier points
+                // recieved on this pointer because we assume that some pointer up got
+                // missed in between.
+            
                 // if pointer count is already 2, then reset the array of pointer for 
                 // which a down event is recieved, and continue handling in normal way
+                // Fix for error crash in photos fullscreen
+                // Like above if you reset the pointer array for which the down event
+                // is recieved the second time then in thecase of, 0 down, 1 down, 0 down
+                // iPoints will be null.
+                // Here whenever reseting it to single pointer havndling, always iPoints should have
+                // the data. Hence the first parameter should always be true.
+                // Fix is iGesture->ResetToLastPoint(pointerNumber != 0,pointerNumber != 0);
+                // is changed to iGesture->ResetToLastPoint( ETrue,pointerNumber != 0);
                 iPointerCount = 1; 
                 iCurrentPointer = pointerNumber == 0 ? 1 : 0;
-                iGesture->ResetToLastPoint(pointerNumber != 0,pointerNumber != 0);
+                iGesture->ResetToLastPoint( ETrue,pointerNumber != 0);
+                iGesture->SetSingleTouchActive();
                 }
 
             if(iPointerCount == 0)
--- a/mulwidgets/mullogging/src/mullogger.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/mulwidgets/mullogging/src/mullogger.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -21,7 +21,7 @@
 
 // EXTERNAL INCLUDES
 #include <e32debug.h>
-#include <flogger.h>
+//#include <flogger.h>
 
 // INTERNAL INCLUDES
 //#include "mullogchunk.h"
--- a/widgetmodel/alfwidgetmodel/src/alfanimationoutput.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/widgetmodel/alfwidgetmodel/src/alfanimationoutput.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -28,7 +28,7 @@
 #include <alf/alfcontrol.h>
 #include <alf/alfenv.h>
 #include <alf/alfexceptions.h>
-#include "alf/alfperf.h"
+//#include "alf/alfperf.h"
 #include "alfanimationoutput.h"
 
 namespace Alf
@@ -96,10 +96,10 @@
     if ( visual )
         {
         // Create the animation command(s) and send them through the env.
-        ALF_PERF_START( perfdata, "AlfAnimationOutput-sendCommand-createAndSendCommands" )
+        //ALF_PERF_START( perfdata, "AlfAnimationOutput-sendCommand-createAndSendCommands" )
         // reference visual is optional, it may be 0.
         mAttributeSetter->createAndSendCommands( *visual, mAttributeContainer, ref );
-        ALF_PERF_STOP( perfdata, "AlfAnimationOutput-sendCommand-createAndSendCommands" )
+        //ALF_PERF_STOP( perfdata, "AlfAnimationOutput-sendCommand-createAndSendCommands" )
         }
     }
 
--- a/widgetmodel/alfwidgetmodel/src/alfelement.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/widgetmodel/alfwidgetmodel/src/alfelement.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -21,7 +21,7 @@
 #include <alf/alfvarianttype.h>
 #include "alf/ialfvisualtemplate.h"
 #include "alf/alfreferencetovisual.h"
-#include "alf/alfperf.h"
+//#include "alf/alfperf.h"
 #include <alf/alfexceptions.h>
 
 #include "alfelementattributeownerimpl.h"
@@ -149,11 +149,11 @@
     {
     // Pass directly to the child element CreateVisualTree, no need
     // to do anything else. Derived classes may need additional steps here.
-    ALF_PERF_START( perfdata, "AlfElement-createVisualTree-createChildVisualTree")
+//    ALF_PERF_START( perfdata, "AlfElement-createVisualTree-createChildVisualTree")
     aElement->createVisualTree( aChildData, aData, aIndex, aDataID,
                                 aElement->defaultParentLayout( aDataID ),
                                 aIndex );
-    ALF_PERF_STOP( perfdata, "AlfElement-createVisualTree-createChildVisualTree")
+//    ALF_PERF_STOP( perfdata, "AlfElement-createVisualTree-createChildVisualTree")
     }
 
 OSN_EXPORT CAlfVisual* AlfElement::createVisualTree(
@@ -330,11 +330,11 @@
             {
             // Update the contents of the visual tree
             CAlfVisual* visual = mData->mVisualTreeArray[index]->mVisualTree;
-            ALF_PERF_START( perfdata, "AlfElement-updateVisualTree-VTUpdateVisualTree")
+            //ALF_PERF_START( perfdata, "AlfElement-updateVisualTree-VTUpdateVisualTree")
             mData->mVisualTreeArray[index]->mVisualTree =
                 mData->mVisualTemplate->updateVisualTree(
                     currentNewData, currentOldData, *visual );
-            ALF_PERF_STOP( perfdata, "AlfElement-UpdateVisualTree-VTUpdateVisualTree")
+            //ALF_PERF_STOP( perfdata, "AlfElement-UpdateVisualTree-VTUpdateVisualTree")
             }
         }
 
--- a/widgetmodel/alfwidgetmodel/src/alfmodel.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/widgetmodel/alfwidgetmodel/src/alfmodel.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -27,7 +27,7 @@
 #include "alf/alfmodeloperation.h"
 #include <alf/alfvarianttype.h>
 #include <alf/alfexceptions.h>
-#include "alf/alfperf.h"
+//#include "alf/alfperf.h"
 #include <osn/osnnew.h>
 
 using osncore::AlfPtrVector;
@@ -218,7 +218,7 @@
     IAlfVariantType* parentData = 0;
     try
         {
-        ALF_PERF_START( perfdata, "AlfModel-AddData-Adding")
+        //ALF_PERF_START( perfdata, "AlfModel-AddData-Adding")
         newData = aAddOperation->getNewData();     
         parentData  = aAddOperation->parentData(*data());
         int index = aAddOperation->index();
@@ -248,7 +248,7 @@
             {
             parentData->container()->addItem(index, newData);
             }
-        ALF_PERF_STOP( perfdata, "AlfModel-AddData-Adding")
+        //ALF_PERF_STOP( perfdata, "AlfModel-AddData-Adding")
         }
 	catch(AlfDataException& e)	        
         {
@@ -270,7 +270,7 @@
 
     try
         {
-        ALF_PERF_START( perfdata, "AlfModel-RemoveData-Removing")
+        //ALF_PERF_START( perfdata, "AlfModel-RemoveData-Removing")
         parentData  = aRemoveOperation->parentData(*data());         
         int index = aRemoveOperation->index();
 
@@ -295,7 +295,7 @@
             {
             parentData->container()->removeItem(index);
             }    
-        ALF_PERF_STOP( perfdata, "AlfModel-RemoveData-Removing")
+        //ALF_PERF_STOP( perfdata, "AlfModel-RemoveData-Removing")
         }
     catch(AlfDataException& e)
         {
@@ -314,7 +314,7 @@
 
     try
         {
-        ALF_PERF_START( perfdata, "AlfModel-UpdateData-Updating")
+        //ALF_PERF_START( perfdata, "AlfModel-UpdateData-Updating")
         newData= aUpdateOperation->getNewData();
 
         parentData  = aUpdateOperation->parentData(*data());
@@ -342,7 +342,7 @@
             {
             parentData->container()->replaceItem(index,newData);
             }
-        ALF_PERF_STOP( perfdata, "AlfModel-UpdateData-Updating")
+        //ALF_PERF_STOP( perfdata, "AlfModel-UpdateData-Updating")
         }
     catch(AlfDataException& e)
         {
--- a/widgetmodel/alfwidgetmodel/src/alfsort.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/widgetmodel/alfwidgetmodel/src/alfsort.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -21,7 +21,7 @@
 #include <alf/ialfmap.h>
 #include <alf/alfvarianttype.h>
 #include <alf/ialfsortfunction.h>
-#include "alf/alfperf.h"
+//#include "alf/alfperf.h"
 #include "alfsort.h"
 
 using namespace Alf;
@@ -170,10 +170,10 @@
 void AlfSort::sort(IAlfVariantType** aArr, uint aCount,
                    const IAlfSortFunction& aSortFunction )
     {
-    ALF_PERF_START( perfdata, "AlfSort-Sort-Sorting")
+    //ALF_PERF_START( perfdata, "AlfSort-Sort-Sorting")
     AlfSortKey key(aSortFunction, aArr, aCount);
     AlfSortSwap swap(aArr, aCount);
     User::QuickSort( aCount, key, swap );
-    ALF_PERF_STOP( perfdata, "AlfSort-Sort-Sorting")
+    //ALF_PERF_STOP( perfdata, "AlfSort-Sort-Sorting")
     }
 
--- a/widgetmodel/alfwidgetmodel/src/alfvarianttype.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/widgetmodel/alfwidgetmodel/src/alfvarianttype.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -27,7 +27,7 @@
 #include <osn/osncommon.h>
 #include <osn/ustring.h>
 #include <alf/alfexceptions.h>
-#include "alf/alfperf.h"
+//#include "alf/alfperf.h"
 #include <osn/osnnew.h>
 #include "alfsort.h"
 
@@ -581,7 +581,7 @@
     {
     try
     {
-        ALF_PERF_START( perfdata, "AlfContainer-Clone-Cloning Container")
+        //ALF_PERF_START( perfdata, "AlfContainer-Clone-Cloning Container")
         auto_ptr<AlfContainer> clone( new( EMM ) AlfContainer() );
         auto_ptr<IAlfVariantType> childData;
         
@@ -627,7 +627,7 @@
             clone->mContainerData->mArray.insert( clone->mContainerData->mArray.count(), childData.get() );
             childData.release(); // ownership was transferred.
             }
-        ALF_PERF_STOP( perfdata, "AlfContainer-Clone-Cloning Container")
+        //ALF_PERF_STOP( perfdata, "AlfContainer-Clone-Cloning Container")
         return clone.release();
       }
       catch(...)
@@ -1065,7 +1065,7 @@
     {
     try
         {
-        ALF_PERF_START( perfdata, "AlfContainer-Clone-Cloning Map")
+        //ALF_PERF_START( perfdata, "AlfContainer-Clone-Cloning Map")
         auto_ptr<AlfMap> clone( new(EMM) AlfMap() );
         auto_ptr<MapItem> cloneItem;
 
@@ -1117,7 +1117,7 @@
             clone->mMapDataImpl->mArray.insert(clone->mMapDataImpl->mArray.count(),cloneItem.get() );
             cloneItem.release();
             }
-        ALF_PERF_STOP( perfdata, "AlfContainer-Clone-Cloning Map")
+        //ALF_PERF_STOP( perfdata, "AlfContainer-Clone-Cloning Map")
 
         return clone.release();
         }
--- a/widgetmodel/alfwidgetmodel/src/alfvisualtemplate.cpp	Mon Jan 18 20:36:54 2010 +0200
+++ b/widgetmodel/alfwidgetmodel/src/alfvisualtemplate.cpp	Tue Feb 02 00:28:09 2010 +0200
@@ -31,7 +31,7 @@
 #include <alf/alftexture.h>
 #include <alf/alfenv.h>
 #include <alf/alfexceptions.h>
-#include "alf/alfperf.h"
+//#include "alf/alfperf.h"
 #include <osn/osnnew.h>
 #include <alf/ialfelement.h>
 #include "alf/alfvisualtemplate.h"
@@ -372,9 +372,9 @@
         {
         try
             {
-            ALF_PERF_START( perfdata, "AlfVisualTemplate-updateVisualTree-SetAttributeValue")
+            //ALF_PERF_START( perfdata, "AlfVisualTemplate-updateVisualTree-SetAttributeValue")
             mAttributeArray[i]->setAttributeValue(aVisual, mContainerArray[i], aData);
-            ALF_PERF_STOP( perfdata, "AlfVisualTemplate-updateVisualTree-setAttributeValue")
+            //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-updateVisualTree-setAttributeValue")
             }
         catch (...)
             {
@@ -433,11 +433,11 @@
         {
         if (mVisualType < 0)
             {
-            ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-NewLayout")
+            //ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-NewLayout")
             // create layout
             result = layout = AlfVisualFactory::NewLayoutL(
                                   (TAlfLayoutType)(-1 - mVisualType), aParentLayout, aControl, aControl.Env());
-            ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-NewLayout")
+            //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-NewLayout")
             if (!result)
                 {
                 ALF_THROW(AlfVisualException,ECanNotCreateVisual,"AlfVisualTemplate")
@@ -446,10 +446,10 @@
         else
             {
             // create visual
-            ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-NewVisual")
+            //ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-NewVisual")
             result = AlfVisualFactory::NewVisualL(
                          (TAlfVisualType)mVisualType, aParentLayout, aControl, aControl.Env());
-            ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-NewVisual")
+            //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-NewVisual")
             if (!result)
                 {
                 ALF_THROW(AlfVisualException,ECanNotCreateVisual,"AlfVisualTemplate")
@@ -486,14 +486,14 @@
             {
             try
                 {
-                ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-setAttributeValue")
+                //ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-setAttributeValue")
                 // set dirtines of all attribute in createvisualtree
                 for(int j = 0; j < mContainerArray[i]->attributeCount() ;j++ )
                     {
                     mContainerArray[i]->getAttribute(j).setDirty(true);
                     }
                 mAttributeArray[i]->setAttributeValue(*result, mContainerArray[i], aData);
-                ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-setAttributeValue")
+                //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-setAttributeValue")
                 }
             catch (...)
                 {