Revision: 201023 RCL_3 PDK_3.0.1
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 21 Jun 2010 15:40:32 +0300
branchRCL_3
changeset 47 f9e827349359
parent 35 420f6808bf21
child 56 b023a8d2866a
Revision: 201023 Kit: 2010125
photosgallery/collectionframework/datasource/manager/bwins/glxdatasourcemanageru.def
photosgallery/collectionframework/datasource/manager/eabi/glxdatasourcemanageru.def
photosgallery/collectionframework/datasource/manager/inc/glxcollectionpluginbase.h
photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp
photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdeidlist.cpp
photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp
photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp
photosgallery/collectionframework/plugins/glxcollectionpluginalbums/inc/glxcollectionpluginalbums.h
photosgallery/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp
photosgallery/collectionframework/plugins/glxcollectionpluginall/inc/glxcollectionpluginall.h
photosgallery/collectionframework/plugins/glxcollectionpluginall/src/glxcollectionpluginall.cpp
photosgallery/collectionframework/plugins/glxcollectionplugincamera/inc/glxcollectionplugincamera.h
photosgallery/collectionframework/plugins/glxcollectionplugincamera/src/glxcollectionplugincamera.cpp
photosgallery/collectionframework/plugins/glxcollectionplugindownloads/inc/glxcollectionplugindownloads.h
photosgallery/collectionframework/plugins/glxcollectionplugindownloads/src/glxcollectionplugindownloads.cpp
photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/inc/glxcollectionpluginimageviewer.h
photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/src/glxcollectionpluginimageviewer.cpp
photosgallery/collectionframework/plugins/glxcollectionpluginmonths/inc/glxcollectionpluginmonths.h
photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp
photosgallery/collectionframework/plugins/tagcollectionplugin/inc/glxcollectionplugintags.h
photosgallery/collectionframework/plugins/tagcollectionplugin/src/glxcollectionplugintags.cpp
photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp
photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp
photosgallery/gallery/sis/glxgallery.pkg
photosgallery/gallery/sis/glxgallery_udeb.pkg
photosgallery/icons/1click_default_icon_active.svg
photosgallery/icons/iconlist.txt
photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.cpp
photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.h
photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp
photosgallery/slideshow/engine/tsrc/t_cshweffectcontrol/t_cshweffectcontrol.cpp
photosgallery/slideshow/view/inc/shwgesturecontrol.h
photosgallery/slideshow/view/src/shwgesturecontrol.cpp
photosgallery/slideshow/view/src/shwslideshowview.cpp
photosgallery/viewframework/commandhandlers/commandhandlermarking/src/glxcommandhandlermarking.cpp
photosgallery/viewframework/commandhandlers/commoncommandhandlers/group/glxcommoncommandhandlers.mmp
photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h
photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerupload.h
photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp
photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp
photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp
photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp
photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerupload.cpp
photosgallery/viewframework/dataprovider/src/glxdetailsmulmodelproviderimpl.cpp
photosgallery/viewframework/medialists/bwins/glxmedialistsu.def
photosgallery/viewframework/medialists/eabi/glxmedialistsu.def
photosgallery/viewframework/medialists/inc/glxlistwindow.h
photosgallery/viewframework/medialists/src/glxcachemanager.cpp
photosgallery/viewframework/medialists/src/glxlistwindow.cpp
photosgallery/viewframework/medialists/src/glxmedia.cpp
photosgallery/viewframework/medialists/src/glxmedialist.cpp
photosgallery/viewframework/medialists/tsrc/BWINS/t_glxlistwindowu.def
photosgallery/viewframework/medialists/tsrc/BWINS/t_tglxexclusioniteratoru.def
photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxattributecontextu.def
photosgallery/viewframework/medialists/tsrc/BWINS/ut_glxerrormanageru.def
photosgallery/viewframework/medialists/tsrc/eabi/t_cglxcacheu.def
photosgallery/viewframework/medialists/tsrc/eabi/t_cglxgarbagecollectoru.def
photosgallery/viewframework/medialists/tsrc/eabi/t_cglxmediau.def
photosgallery/viewframework/medialists/tsrc/eabi/t_glxlistwindowu.def
photosgallery/viewframework/medialists/tsrc/eabi/t_tglxexclusioniteratoru.def
photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxattributecontextu.def
photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxitemlistu.def
photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxnavigablelistu.def
photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxstaticitemlistu.def
photosgallery/viewframework/medialists/tsrc/eabi/ut_glxerrormanageru.def
photosgallery/viewframework/medialists/tsrc/t_glxlistwindow/t_glxlistwindow.cpp
photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss
photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss
photosgallery/viewframework/texturemanager/group/glxtexturemanager.mmp
photosgallery/viewframework/texturemanager/inc/glxbitmapdecoderwrapper.h
photosgallery/viewframework/texturemanager/src/glxbitmapdecoderwrapper.cpp
photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp
photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp
photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def
photosgallery/viewframework/uiutilities/data/glxuiutilities.rss
photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def
photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp
photosgallery/viewframework/uiutilities/inc/glxrequestfreegoom.h
photosgallery/viewframework/uiutilities/src/glxanimationfactory.cpp
photosgallery/viewframework/uiutilities/src/glxrequestfreegoom.cpp
photosgallery/viewframework/views/cloudview/src/glxcloudviewcontrol.cpp
photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h
photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp
photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp
photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp
photosgallery/viewframework/views/viewbase/src/glxmedialistviewbase.cpp
photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp
photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h
photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h
photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp
photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp
photosgallery/viewframework/views/zoomview/src/glxzoommathsengine.cpp
photosgallery/viewframework/visuallistmanager/src/glxvisuallistcontrol.cpp
photosgallery/viewframework/visuallistmanager/src/glxvisuallistwindow.cpp
--- a/photosgallery/collectionframework/datasource/manager/bwins/glxdatasourcemanageru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/manager/bwins/glxdatasourcemanageru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -1,53 +1,53 @@
 EXPORTS
-	??0CGlxCollectionPluginBase@@QAE@XZ @ 1 NONAME ; CGlxCollectionPluginBase::CGlxCollectionPluginBase(void)
-	??0CGlxDataSource@@QAE@XZ @ 2 NONAME ; CGlxDataSource::CGlxDataSource(void)
-	??0CGlxDataSourceTask@@QAE@PAVCGlxRequest@@AAVMGlxDataSourceRequestObserver@@PAVCGlxDataSource@@@Z @ 3 NONAME ; CGlxDataSourceTask::CGlxDataSourceTask(class CGlxRequest *, class MGlxDataSourceRequestObserver &, class CGlxDataSource *)
-	??1CGlxCollectionPluginBase@@UAE@XZ @ 4 NONAME ; CGlxCollectionPluginBase::~CGlxCollectionPluginBase(void)
-	??1CGlxDataSource@@UAE@XZ @ 5 NONAME ; CGlxDataSource::~CGlxDataSource(void)
-	??1CGlxDataSourceTask@@UAE@XZ @ 6 NONAME ; CGlxDataSourceTask::~CGlxDataSourceTask(void)
-	??1CGlxRequest@@UAE@XZ @ 7 NONAME ; CGlxRequest::~CGlxRequest(void)
-	?AddL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@@Z @ 8 NONAME ; void CGlxCollectionPluginBase::AddL(class CMPXMedia const &)
-	?AttributeId@CGlxThumbnailRequest@@QBEIXZ @ 9 NONAME ; unsigned int CGlxThumbnailRequest::AttributeId(void) const
-	?BroadcastMessage@CGlxDataSource@@IAEXAAVCMPXMedia@@@Z @ 10 NONAME ; void CGlxDataSource::BroadcastMessage(class CMPXMedia &)
-	?CancelRequest@CGlxCollectionPluginBase@@EAEXXZ @ 11 NONAME ; void CGlxCollectionPluginBase::CancelRequest(void)
-	?CancelRequest@CGlxDataSource@@UAEXAAVMGlxDataSourceRequestObserver@@@Z @ 12 NONAME ; void CGlxDataSource::CancelRequest(class MGlxDataSourceRequestObserver &)
-	?Close@CGlxDataSource@@UAEXAAVMGlxDataSourceUpdateObserver@@@Z @ 13 NONAME ; void CGlxDataSource::Close(class MGlxDataSourceUpdateObserver &)
-	?CollectionPluginUid@CGlxRequest@@QBE?AVTUid@@XZ @ 14 NONAME ; class TUid CGlxRequest::CollectionPluginUid(void) const
-	?CommandL@CGlxCollectionPluginBase@@EAEXAAVCMPXMedia@@@Z @ 15 NONAME ; void CGlxCollectionPluginBase::CommandL(class CMPXMedia &)
-	?CommandL@CGlxCollectionPluginBase@@EAEXW4TMPXCollectionCommand@@H@Z @ 16 NONAME ; void CGlxCollectionPluginBase::CommandL(enum TMPXCollectionCommand, int)
-	?CpiAttributeAdditionalAttributes@CGlxCollectionPluginBase@@MAEXABVTMPXAttribute@@AAV?$RArray@VTMPXAttribute@@@@@Z @ 17 NONAME ; void CGlxCollectionPluginBase::CpiAttributeAdditionalAttributes(class TMPXAttribute const &, class RArray<class TMPXAttribute> &)
-	?CreateResponseL@CGlxDataSourceTask@@QAEXXZ @ 18 NONAME ; void CGlxDataSourceTask::CreateResponseL(void)
-	?DataSourceRequestL@CGlxDataSource@@UAEXPAVCGlxRequest@@AAVMGlxDataSourceRequestObserver@@@Z @ 19 NONAME ; void CGlxDataSource::DataSourceRequestL(class CGlxRequest *, class MGlxDataSourceRequestObserver &)
-	?DefaultFilter@CGlxCollectionPluginBase@@MAE?AVTGlxFilterProperties@@H@Z @ 20 NONAME ; class TGlxFilterProperties CGlxCollectionPluginBase::DefaultFilter(int)
-	?DoCancel@CGlxDataSource@@UAEXXZ @ 21 NONAME ; void CGlxDataSource::DoCancel(void)
-	?Filter@CGlxRequest@@QBEPAVCMPXMedia@@XZ @ 22 NONAME ; class CMPXMedia * CGlxRequest::Filter(void) const
-	?FindAllL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@ABV?$TArray@VTMPXAttribute@@@@@Z @ 23 NONAME ; void CGlxCollectionPluginBase::FindAllL(class CMPXMedia const &, class TArray<class TMPXAttribute> const &)
-	?FindAllSyncL@CGlxCollectionPluginBase@@EAEPAVCMPXMedia@@ABV2@ABV?$TArray@VTMPXAttribute@@@@@Z @ 24 NONAME ; class CMPXMedia * CGlxCollectionPluginBase::FindAllSyncL(class CMPXMedia const &, class TArray<class TMPXAttribute> const &)
-	?GetCapabilities@CGlxCollectionPluginBase@@EAEHXZ @ 25 NONAME ; int CGlxCollectionPluginBase::GetCapabilities(void)
-	?HandleCpiAttributeResponseL@CGlxCollectionPluginBase@@MAEXPAVCMPXMedia@@V?$TArray@VTMPXAttribute@@@@V?$TArray@VTGlxMediaId@@@@@Z @ 26 NONAME ; void CGlxCollectionPluginBase::HandleCpiAttributeResponseL(class CMPXMedia *, class TArray<class TMPXAttribute>, class TArray<class TGlxMediaId>)
-	?HandleMessage@CGlxCollectionPluginBase@@EAEXAAVCMPXMedia@@@Z @ 27 NONAME ; void CGlxCollectionPluginBase::HandleMessage(class CMPXMedia &)
-	?HandleRequestComplete@CGlxDataSourceTask@@UAEXH@Z @ 28 NONAME ; void CGlxDataSourceTask::HandleRequestComplete(int)
-	?HandleResponse@CGlxCollectionPluginBase@@EAEXPAVCMPXMedia@@PAVCGlxRequest@@ABH@Z @ 29 NONAME ; void CGlxCollectionPluginBase::HandleResponse(class CMPXMedia *, class CGlxRequest *, int const &)
-	?HandleTaskComplete@CGlxDataSource@@QAEXPAVCGlxDataSourceTask@@@Z @ 30 NONAME ; void CGlxDataSource::HandleTaskComplete(class CGlxDataSourceTask *)
-	?IsUpdateMessageIgnored@CGlxCollectionPluginBase@@MAEHAAVCMPXMedia@@@Z @ 31 NONAME ; int CGlxCollectionPluginBase::IsUpdateMessageIgnored(class CMPXMedia &)
-	?ItemId@CGlxThumbnailRequest@@QBEABVTGlxMediaId@@XZ @ 32 NONAME ; class TGlxMediaId const & CGlxThumbnailRequest::ItemId(void) const
-	?ListToMediaL@CGlxDataSourceTask@@MAEXABV?$RArray@VTGlxMediaId@@@@@Z @ 33 NONAME ; void CGlxDataSourceTask::ListToMediaL(class RArray<class TGlxMediaId> const &)
-	?LoadLocalizedStringLC@CGlxCollectionPluginBase@@IAEPAVHBufC16@@ABVTDesC16@@H@Z @ 34 NONAME ; class HBufC16 * CGlxCollectionPluginBase::LoadLocalizedStringLC(class TDesC16 const &, int)
-	?LoadLocalizedStringLC@CGlxStringCache@@QAEPAVHBufC16@@ABVTDesC16@@H@Z @ 35 NONAME ; class HBufC16 * CGlxStringCache::LoadLocalizedStringLC(class TDesC16 const &, int)
-	?MediaL@CGlxCollectionPluginBase@@EAEXABVCMPXCollectionPath@@ABV?$TArray@VTMPXAttribute@@@@ABV?$TArray@W4TCapability@@@@PAVCMPXMedia@@@Z @ 36 NONAME ; void CGlxCollectionPluginBase::MediaL(class CMPXCollectionPath const &, class TArray<class TMPXAttribute> const &, class TArray<enum TCapability> const &, class CMPXMedia *)
-	?NewL@CGlxGetRequest@@SAPAV1@ABV?$RArray@VTGlxMediaId@@@@ABV?$RArray@VTMPXAttribute@@@@1ABVTUid@@PAVCMPXMedia@@H@Z @ 37 NONAME ; class CGlxGetRequest * CGlxGetRequest::NewL(class RArray<class TGlxMediaId> const &, class RArray<class TMPXAttribute> const &, class RArray<class TMPXAttribute> const &, class TUid const &, class CMPXMedia *, int)
-	?NewL@CGlxIdListRequest@@SAPAV1@VTGlxMediaId@@ABVTUid@@PAVCMPXMedia@@AAVCMPXCollectionPath@@@Z @ 38 NONAME ; class CGlxIdListRequest * CGlxIdListRequest::NewL(class TGlxMediaId, class TUid const &, class CMPXMedia *, class CMPXCollectionPath &)
-	?NewL@CGlxStringCache@@SAPAV1@XZ @ 39 NONAME ; class CGlxStringCache * CGlxStringCache::NewL(void)
-	?NewL@CGlxThumbnailRequest@@SAPAV1@VTGlxThumbnailRequest@@ABVTUid@@HPAVCMPXMedia@@@Z @ 40 NONAME ; class CGlxThumbnailRequest * CGlxThumbnailRequest::NewL(class TGlxThumbnailRequest, class TUid const &, int, class CMPXMedia *)
-	?OpenDataSourceL@MGlxDataSource@@SAPAV1@ABVTUid@@AAVMGlxDataSourceUpdateObserver@@@Z @ 41 NONAME ; class MGlxDataSource * MGlxDataSource::OpenDataSourceL(class TUid const &, class MGlxDataSourceUpdateObserver &)
-	?OpenL@CGlxCollectionPluginBase@@EAEXABVCMPXCollectionPath@@ABV?$TArray@VTMPXAttribute@@@@PAVCMPXMedia@@@Z @ 42 NONAME ; void CGlxCollectionPluginBase::OpenL(class CMPXCollectionPath const &, class TArray<class TMPXAttribute> const &, class CMPXMedia *)
-	?RemoveL@CGlxCollectionPluginBase@@EAEXABVCMPXCollectionPath@@@Z @ 43 NONAME ; void CGlxCollectionPluginBase::RemoveL(class CMPXCollectionPath const &)
-	?RemoveL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@@Z @ 44 NONAME ; void CGlxCollectionPluginBase::RemoveL(class CMPXMedia const &)
-	?RunError@CGlxDataSource@@UAEHH@Z @ 45 NONAME ; int CGlxDataSource::RunError(int)
-	?RunL@CGlxDataSource@@UAEXXZ @ 46 NONAME ; void CGlxDataSource::RunL(void)
-	?SetL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@@Z @ 47 NONAME ; void CGlxCollectionPluginBase::SetL(class CMPXMedia const &)
-	?SetThumbnailInfo@CGlxThumbnailRequest@@QAEXPAVCGlxtnFileInfo@@@Z @ 48 NONAME ; void CGlxThumbnailRequest::SetThumbnailInfo(class CGlxtnFileInfo *)
-	?ThumbnailInfo@CGlxThumbnailRequest@@QBEPAVCGlxtnFileInfo@@XZ @ 49 NONAME ; class CGlxtnFileInfo * CGlxThumbnailRequest::ThumbnailInfo(void) const
-	?ThumbnailRequest@CGlxThumbnailRequest@@QBEXAAVTGlxThumbnailRequest@@@Z @ 50 NONAME ; void CGlxThumbnailRequest::ThumbnailRequest(class TGlxThumbnailRequest &) const
-	?TryStartTask@CGlxDataSource@@IAEXH@Z @ 51 NONAME ; void CGlxDataSource::TryStartTask(int)
+	?RemoveL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@@Z @ 1 NONAME ; void CGlxCollectionPluginBase::RemoveL(class CMPXMedia const &)
+	?ThumbnailRequest@CGlxThumbnailRequest@@QBEXAAVTGlxThumbnailRequest@@@Z @ 2 NONAME ; void CGlxThumbnailRequest::ThumbnailRequest(class TGlxThumbnailRequest &) const
+	?ListToMediaL@CGlxDataSourceTask@@MAEXABV?$RArray@VTGlxMediaId@@@@@Z @ 3 NONAME ; void CGlxDataSourceTask::ListToMediaL(class RArray<class TGlxMediaId> const &)
+	?FindAllSyncL@CGlxCollectionPluginBase@@EAEPAVCMPXMedia@@ABV2@ABV?$TArray@VTMPXAttribute@@@@@Z @ 4 NONAME ; class CMPXMedia * CGlxCollectionPluginBase::FindAllSyncL(class CMPXMedia const &, class TArray<class TMPXAttribute> const &)
+	?OpenDataSourceL@MGlxDataSource@@SAPAV1@ABVTUid@@AAVMGlxDataSourceUpdateObserver@@@Z @ 5 NONAME ; class MGlxDataSource * MGlxDataSource::OpenDataSourceL(class TUid const &, class MGlxDataSourceUpdateObserver &)
+	?RunError@CGlxDataSource@@UAEHH@Z @ 6 NONAME ; int CGlxDataSource::RunError(int)
+	?NewL@CGlxThumbnailRequest@@SAPAV1@VTGlxThumbnailRequest@@ABVTUid@@HPAVCMPXMedia@@@Z @ 7 NONAME ; class CGlxThumbnailRequest * CGlxThumbnailRequest::NewL(class TGlxThumbnailRequest, class TUid const &, int, class CMPXMedia *)
+	?GetCapabilities@CGlxCollectionPluginBase@@EAEHXZ @ 8 NONAME ; int CGlxCollectionPluginBase::GetCapabilities(void)
+	?RunL@CGlxDataSource@@UAEXXZ @ 9 NONAME ; void CGlxDataSource::RunL(void)
+	?CancelRequest@CGlxCollectionPluginBase@@EAEXXZ @ 10 NONAME ; void CGlxCollectionPluginBase::CancelRequest(void)
+	?BroadcastMessage@CGlxDataSource@@IAEXAAVCMPXMedia@@@Z @ 11 NONAME ; void CGlxDataSource::BroadcastMessage(class CMPXMedia &)
+	?MediaL@CGlxCollectionPluginBase@@EAEXABVCMPXCollectionPath@@ABV?$TArray@VTMPXAttribute@@@@ABV?$TArray@W4TCapability@@@@PAVCMPXMedia@@@Z @ 12 NONAME ; void CGlxCollectionPluginBase::MediaL(class CMPXCollectionPath const &, class TArray<class TMPXAttribute> const &, class TArray<enum TCapability> const &, class CMPXMedia *)
+	?HandleRequestComplete@CGlxDataSourceTask@@UAEXH@Z @ 13 NONAME ; void CGlxDataSourceTask::HandleRequestComplete(int)
+	?CommandL@CGlxCollectionPluginBase@@EAEXAAVCMPXMedia@@@Z @ 14 NONAME ; void CGlxCollectionPluginBase::CommandL(class CMPXMedia &)
+	??0CGlxDataSourceTask@@QAE@PAVCGlxRequest@@AAVMGlxDataSourceRequestObserver@@PAVCGlxDataSource@@@Z @ 15 NONAME ; CGlxDataSourceTask::CGlxDataSourceTask(class CGlxRequest *, class MGlxDataSourceRequestObserver &, class CGlxDataSource *)
+	?CollectionPluginUid@CGlxRequest@@QBE?AVTUid@@XZ @ 16 NONAME ; class TUid CGlxRequest::CollectionPluginUid(void) const
+	?ThumbnailInfo@CGlxThumbnailRequest@@QBEPAVCGlxtnFileInfo@@XZ @ 17 NONAME ; class CGlxtnFileInfo * CGlxThumbnailRequest::ThumbnailInfo(void) const
+	?CancelRequest@CGlxDataSource@@UAEXAAVMGlxDataSourceRequestObserver@@@Z @ 18 NONAME ; void CGlxDataSource::CancelRequest(class MGlxDataSourceRequestObserver &)
+	??0CGlxDataSource@@QAE@XZ @ 19 NONAME ; CGlxDataSource::CGlxDataSource(void)
+	?IsUpdateMessageIgnored@CGlxCollectionPluginBase@@MAEHAAVCMPXMedia@@@Z @ 20 NONAME ; int CGlxCollectionPluginBase::IsUpdateMessageIgnored(class CMPXMedia &)
+	?CommandL@CGlxCollectionPluginBase@@EAEXW4TMPXCollectionCommand@@H@Z @ 21 NONAME ; void CGlxCollectionPluginBase::CommandL(enum TMPXCollectionCommand, int)
+	?SetL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@@Z @ 22 NONAME ; void CGlxCollectionPluginBase::SetL(class CMPXMedia const &)
+	?Close@CGlxDataSource@@UAEXAAVMGlxDataSourceUpdateObserver@@@Z @ 23 NONAME ; void CGlxDataSource::Close(class MGlxDataSourceUpdateObserver &)
+	?LoadLocalizedStringLC@CGlxCollectionPluginBase@@IAEPAVHBufC16@@ABVTDesC16@@H@Z @ 24 NONAME ; class HBufC16 * CGlxCollectionPluginBase::LoadLocalizedStringLC(class TDesC16 const &, int)
+	?AttributeId@CGlxThumbnailRequest@@QBEIXZ @ 25 NONAME ; unsigned int CGlxThumbnailRequest::AttributeId(void) const
+	?HandleTaskComplete@CGlxDataSource@@QAEXPAVCGlxDataSourceTask@@@Z @ 26 NONAME ; void CGlxDataSource::HandleTaskComplete(class CGlxDataSourceTask *)
+	?AddL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@@Z @ 27 NONAME ; void CGlxCollectionPluginBase::AddL(class CMPXMedia const &)
+	??1CGlxCollectionPluginBase@@UAE@XZ @ 28 NONAME ; CGlxCollectionPluginBase::~CGlxCollectionPluginBase(void)
+	?CpiAttributeAdditionalAttributesL@CGlxCollectionPluginBase@@MAEXABVTMPXAttribute@@AAV?$RArray@VTMPXAttribute@@@@@Z @ 29 NONAME ; void CGlxCollectionPluginBase::CpiAttributeAdditionalAttributesL(class TMPXAttribute const &, class RArray<class TMPXAttribute> &)
+	?DoCancel@CGlxDataSource@@UAEXXZ @ 30 NONAME ; void CGlxDataSource::DoCancel(void)
+	??1CGlxDataSource@@UAE@XZ @ 31 NONAME ; CGlxDataSource::~CGlxDataSource(void)
+	?Filter@CGlxRequest@@QBEPAVCMPXMedia@@XZ @ 32 NONAME ; class CMPXMedia * CGlxRequest::Filter(void) const
+	?RemoveL@CGlxCollectionPluginBase@@EAEXABVCMPXCollectionPath@@@Z @ 33 NONAME ; void CGlxCollectionPluginBase::RemoveL(class CMPXCollectionPath const &)
+	?HandleCpiAttributeResponseL@CGlxCollectionPluginBase@@MAEXPAVCMPXMedia@@V?$TArray@VTMPXAttribute@@@@V?$TArray@VTGlxMediaId@@@@@Z @ 34 NONAME ; void CGlxCollectionPluginBase::HandleCpiAttributeResponseL(class CMPXMedia *, class TArray<class TMPXAttribute>, class TArray<class TGlxMediaId>)
+	??0CGlxCollectionPluginBase@@QAE@XZ @ 35 NONAME ; CGlxCollectionPluginBase::CGlxCollectionPluginBase(void)
+	?ItemId@CGlxThumbnailRequest@@QBEABVTGlxMediaId@@XZ @ 36 NONAME ; class TGlxMediaId const & CGlxThumbnailRequest::ItemId(void) const
+	?NewL@CGlxStringCache@@SAPAV1@XZ @ 37 NONAME ; class CGlxStringCache * CGlxStringCache::NewL(void)
+	?CreateResponseL@CGlxDataSourceTask@@QAEXXZ @ 38 NONAME ; void CGlxDataSourceTask::CreateResponseL(void)
+	?HandleMessage@CGlxCollectionPluginBase@@EAEXAAVCMPXMedia@@@Z @ 39 NONAME ; void CGlxCollectionPluginBase::HandleMessage(class CMPXMedia &)
+	?NewL@CGlxIdListRequest@@SAPAV1@VTGlxMediaId@@ABVTUid@@PAVCMPXMedia@@AAVCMPXCollectionPath@@@Z @ 40 NONAME ; class CGlxIdListRequest * CGlxIdListRequest::NewL(class TGlxMediaId, class TUid const &, class CMPXMedia *, class CMPXCollectionPath &)
+	?LoadLocalizedStringLC@CGlxStringCache@@QAEPAVHBufC16@@ABVTDesC16@@H@Z @ 41 NONAME ; class HBufC16 * CGlxStringCache::LoadLocalizedStringLC(class TDesC16 const &, int)
+	?DefaultFilter@CGlxCollectionPluginBase@@MAE?AVTGlxFilterProperties@@H@Z @ 42 NONAME ; class TGlxFilterProperties CGlxCollectionPluginBase::DefaultFilter(int)
+	?HandleResponse@CGlxCollectionPluginBase@@EAEXPAVCMPXMedia@@PAVCGlxRequest@@ABH@Z @ 43 NONAME ; void CGlxCollectionPluginBase::HandleResponse(class CMPXMedia *, class CGlxRequest *, int const &)
+	??1CGlxDataSourceTask@@UAE@XZ @ 44 NONAME ; CGlxDataSourceTask::~CGlxDataSourceTask(void)
+	?DataSourceRequestL@CGlxDataSource@@UAEXPAVCGlxRequest@@AAVMGlxDataSourceRequestObserver@@@Z @ 45 NONAME ; void CGlxDataSource::DataSourceRequestL(class CGlxRequest *, class MGlxDataSourceRequestObserver &)
+	?FindAllL@CGlxCollectionPluginBase@@EAEXABVCMPXMedia@@ABV?$TArray@VTMPXAttribute@@@@@Z @ 46 NONAME ; void CGlxCollectionPluginBase::FindAllL(class CMPXMedia const &, class TArray<class TMPXAttribute> const &)
+	?TryStartTask@CGlxDataSource@@IAEXH@Z @ 47 NONAME ; void CGlxDataSource::TryStartTask(int)
+	?OpenL@CGlxCollectionPluginBase@@EAEXABVCMPXCollectionPath@@ABV?$TArray@VTMPXAttribute@@@@PAVCMPXMedia@@@Z @ 48 NONAME ; void CGlxCollectionPluginBase::OpenL(class CMPXCollectionPath const &, class TArray<class TMPXAttribute> const &, class CMPXMedia *)
+	?NewL@CGlxGetRequest@@SAPAV1@ABV?$RArray@VTGlxMediaId@@@@ABV?$RArray@VTMPXAttribute@@@@1ABVTUid@@PAVCMPXMedia@@H@Z @ 49 NONAME ; class CGlxGetRequest * CGlxGetRequest::NewL(class RArray<class TGlxMediaId> const &, class RArray<class TMPXAttribute> const &, class RArray<class TMPXAttribute> const &, class TUid const &, class CMPXMedia *, int)
+	??1CGlxRequest@@UAE@XZ @ 50 NONAME ; CGlxRequest::~CGlxRequest(void)
+	?SetThumbnailInfo@CGlxThumbnailRequest@@QAEXPAVCGlxtnFileInfo@@@Z @ 51 NONAME ; void CGlxThumbnailRequest::SetThumbnailInfo(class CGlxtnFileInfo *)
 
--- a/photosgallery/collectionframework/datasource/manager/eabi/glxdatasourcemanageru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/manager/eabi/glxdatasourcemanageru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -38,7 +38,7 @@
 	_ZN24CGlxCollectionPluginBase21LoadLocalizedStringLCERK7TDesC16i @ 37 NONAME
 	_ZN24CGlxCollectionPluginBase22IsUpdateMessageIgnoredER9CMPXMedia @ 38 NONAME
 	_ZN24CGlxCollectionPluginBase27HandleCpiAttributeResponseLEP9CMPXMedia6TArrayI13TMPXAttributeES2_I11TGlxMediaIdE @ 39 NONAME
-	_ZN24CGlxCollectionPluginBase32CpiAttributeAdditionalAttributesERK13TMPXAttributeR6RArrayIS0_E @ 40 NONAME
+	_ZN24CGlxCollectionPluginBase33CpiAttributeAdditionalAttributesLERK13TMPXAttributeR6RArrayIS0_E @ 40 NONAME
 	_ZN24CGlxCollectionPluginBase4AddLERK9CMPXMedia @ 41 NONAME
 	_ZN24CGlxCollectionPluginBase4SetLERK9CMPXMedia @ 42 NONAME
 	_ZN24CGlxCollectionPluginBase5OpenLERK18CMPXCollectionPathRK6TArrayI13TMPXAttributeEP9CMPXMedia @ 43 NONAME
@@ -59,25 +59,25 @@
 	_ZNK20CGlxThumbnailRequest13ThumbnailInfoEv @ 58 NONAME
 	_ZNK20CGlxThumbnailRequest16ThumbnailRequestER20TGlxThumbnailRequest @ 59 NONAME
 	_ZNK20CGlxThumbnailRequest6ItemIdEv @ 60 NONAME
-	_ZTI11CGlxRequest @ 61 NONAME ; #<TI>#
-	_ZTI14CGlxDataSource @ 62 NONAME ; #<TI>#
-	_ZTI14CGlxGetRequest @ 63 NONAME ; #<TI>#
-	_ZTI17CGlxIdListRequest @ 64 NONAME ; #<TI>#
-	_ZTI18CGlxCommandRequest @ 65 NONAME ; #<TI>#
-	_ZTI18CGlxDataSourceTask @ 66 NONAME ; #<TI>#
-	_ZTI20CGlxThumbnailRequest @ 67 NONAME ; #<TI>#
-	_ZTI24CGlxCollectionPluginBase @ 68 NONAME ; #<TI>#
-	_ZTV11CGlxRequest @ 69 NONAME ; #<VT>#
-	_ZTV14CGlxDataSource @ 70 NONAME ; #<VT>#
-	_ZTV14CGlxGetRequest @ 71 NONAME ; #<VT>#
-	_ZTV17CGlxIdListRequest @ 72 NONAME ; #<VT>#
-	_ZTV18CGlxCommandRequest @ 73 NONAME ; #<VT>#
-	_ZTV18CGlxDataSourceTask @ 74 NONAME ; #<VT>#
-	_ZTV20CGlxThumbnailRequest @ 75 NONAME ; #<VT>#
-	_ZTV24CGlxCollectionPluginBase @ 76 NONAME ; #<VT>#
-	_ZThn24_N24CGlxCollectionPluginBase14HandleResponseEP9CMPXMediaP11CGlxRequestRKi @ 77 NONAME ; #<thunk>#
-	_ZThn28_N14CGlxDataSource13CancelRequestER29MGlxDataSourceRequestObserver @ 78 NONAME ; #<thunk>#
-	_ZThn28_N14CGlxDataSource18DataSourceRequestLEP11CGlxRequestR29MGlxDataSourceRequestObserver @ 79 NONAME ; #<thunk>#
-	_ZThn28_N14CGlxDataSource5CloseER28MGlxDataSourceUpdateObserver @ 80 NONAME ; #<thunk>#
-	_ZThn28_N24CGlxCollectionPluginBase13HandleMessageER9CMPXMedia @ 81 NONAME ; #<thunk>#
+	_ZTI11CGlxRequest @ 61 NONAME
+	_ZTI14CGlxDataSource @ 62 NONAME
+	_ZTI14CGlxGetRequest @ 63 NONAME
+	_ZTI17CGlxIdListRequest @ 64 NONAME
+	_ZTI18CGlxCommandRequest @ 65 NONAME
+	_ZTI18CGlxDataSourceTask @ 66 NONAME
+	_ZTI20CGlxThumbnailRequest @ 67 NONAME
+	_ZTI24CGlxCollectionPluginBase @ 68 NONAME
+	_ZTV11CGlxRequest @ 69 NONAME
+	_ZTV14CGlxDataSource @ 70 NONAME
+	_ZTV14CGlxGetRequest @ 71 NONAME
+	_ZTV17CGlxIdListRequest @ 72 NONAME
+	_ZTV18CGlxCommandRequest @ 73 NONAME
+	_ZTV18CGlxDataSourceTask @ 74 NONAME
+	_ZTV20CGlxThumbnailRequest @ 75 NONAME
+	_ZTV24CGlxCollectionPluginBase @ 76 NONAME
+	_ZThn24_N24CGlxCollectionPluginBase14HandleResponseEP9CMPXMediaP11CGlxRequestRKi @ 77 NONAME
+	_ZThn28_N14CGlxDataSource13CancelRequestER29MGlxDataSourceRequestObserver @ 78 NONAME
+	_ZThn28_N14CGlxDataSource18DataSourceRequestLEP11CGlxRequestR29MGlxDataSourceRequestObserver @ 79 NONAME
+	_ZThn28_N14CGlxDataSource5CloseER28MGlxDataSourceUpdateObserver @ 80 NONAME
+	_ZThn28_N24CGlxCollectionPluginBase13HandleMessageER9CMPXMedia @ 81 NONAME
 
--- a/photosgallery/collectionframework/datasource/manager/inc/glxcollectionpluginbase.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/manager/inc/glxcollectionpluginbase.h	Mon Jun 21 15:40:32 2010 +0300
@@ -199,7 +199,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	IMPORT_C virtual void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
+	IMPORT_C virtual void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
 
 	/**
 	 * Modifies the response to include all requested CPI specific attributes or Leaves.
--- a/photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -373,7 +373,7 @@
 EXPORT_C void CGlxCollectionPluginBase::HandleResponse(CMPXMedia* aResponse, CGlxRequest* aRequest, const TInt& aError)
 	{
     TRACER("void CGlxCollectionPluginBase::HandleResponse()");
-	
+    GLX_DEBUG2("CGlxCollectionPluginBase::HandleResponse()() aError=%d", aError);
     if (dynamic_cast<CGlxIdListRequest*>(aRequest))
 	// iRequest is a CGlxIdListRequest
 	    {
@@ -384,8 +384,20 @@
 	else if (dynamic_cast<CGlxThumbnailRequest*>(aRequest))
 	// iRequest is a CGlxThumbnailRequest
         {
- 		iObs->HandleMedia(aResponse, aError); 
-	    }
+        //when IAD update / sisx installation of S60 TNM is done and
+        //photos asks for the thumbnail, the thumbnail manager returns an 
+        //error KErrServerTerminated(-15)/KErrDied(-13) for which the MPX recreates
+        //the collection plugins and reconnects to the MPX server and goes into
+        //a invalid state. After this, the error is not propogated to the Medialist
+        //and no further requests are processed and it keeps returning KErrNotReady(-18)
+        //So, as a HACK we are changing the error code to KErrCompletion(-17), 
+        //for which the MPX collection does not take any action and propogates the error
+        //to the medialist. This error(KErrCompletion) is treated as a temporary error
+        //and the thumbnail request is made again from the medialist for which the
+        //S60 TNM returns the thumbnail properly.
+        iObs->HandleMedia(aResponse, ((aError == KErrServerTerminated
+                || aError == KErrDied) ? KErrCompletion : aError));
+        }
 	else if (dynamic_cast<CGlxGetRequest*>(aRequest))
 	// iRequest is a CGlxGetRequest
         {
@@ -456,7 +468,7 @@
         if( KGlxMediaIdCollectionPluginSpecific == aAttrs[i].ContentId())
         	{
 			cpiAttributeArray.AppendL(aAttrs[i]);
-			CpiAttributeAdditionalAttributes(aAttrs[i], attributeArray);  
+			CpiAttributeAdditionalAttributesL(aAttrs[i], attributeArray);  
 			doNotNeedDataSource = EFalse;   	
         	}
         else 
@@ -494,9 +506,9 @@
 	return ETrue;
 	}
 
-EXPORT_C void CGlxCollectionPluginBase::CpiAttributeAdditionalAttributes(const TMPXAttribute& /*aCpiAttribute*/, RArray<TMPXAttribute>& /*aAttributeArray*/)
+EXPORT_C void CGlxCollectionPluginBase::CpiAttributeAdditionalAttributesL(const TMPXAttribute& /*aCpiAttribute*/, RArray<TMPXAttribute>& /*aAttributeArray*/)
 	{
-    TRACER("void CGlxCollectionPluginBase::CpiAttributeAdditionalAttributes()");
+    TRACER("void CGlxCollectionPluginBase::CpiAttributeAdditionalAttributesL()");
 	// Default implementation does not require additional attributes	
 	}
 
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdeidlist.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdeidlist.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -276,13 +276,13 @@
             if( KErrNotFound != favoritesIndex )
                 {
                 list.Remove(favoritesIndex);
-                list.Insert(DataSource()->FavoritesId(), KGlxAlbumPromotionPosition);
+                list.InsertL(DataSource()->FavoritesId(), KGlxAlbumPromotionPosition);
                 }
             TInt cameraAlbumIndex = list.Find(DataSource()->CameraAlbumId());
             if( KErrNotFound != cameraAlbumIndex )
                 {
                 list.Remove(cameraAlbumIndex);
-                list.Insert(DataSource()->CameraAlbumId(), KGlxAlbumPromotionPosition);
+                list.InsertL(DataSource()->CameraAlbumId(), KGlxAlbumPromotionPosition);
                 }
             DoPostFilterComplete(list, KErrNone);
             }
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -541,9 +541,13 @@
 		{
 	    for ( TInt i = 0; i < aObjectIdArray.Count(); i++ )
 	        {
-			iAddedItems.Append(aObjectIdArray[i]);
+            TInt ret = iAddedItems.Append(aObjectIdArray[i]);
+            if (ret != KErrNone)
+                {
+                GLX_DEBUG2("ENotifyAdd-iAddedItems.Append() failed i(%d)", i);
+                }
 	        }
-	    GLX_LOG_INFO1("ENotifyAdd - iAddedItems.Count()=%d", iAddedItems.Count());
+	    GLX_DEBUG2("ENotifyAdd - iAddedItems.Count()=%d", iAddedItems.Count());
 		}
     
    	if (ENotifyModify == aType)
@@ -554,25 +558,25 @@
 	        	{
 		        if (!iHarvestingOngoing)
 		        	{
-		        	GLX_LOG_INFO("ENotifyModify - Harvesting Completed - "
-		        	        "Reset iAddedItems array");
+		        	GLX_DEBUG1("ENotifyModify - Harvesting Completed - "
+                            "Reset iAddedItems array");
 					iAddedItems.Reset();
 					break;
 		        	}
-		        GLX_LOG_INFO("ENotifyModify - Id found in iAddedItems array, DO NOT PROCESS");
+                GLX_DEBUG1("ENotifyModify - Id found in iAddedItems array, DO NOT PROCESS");
 	        	return;
 	        	}
 	        }
         }
 
-   	GLX_LOG_INFO("ProcessUpdateArray");
+   	GLX_DEBUG1("HandleObjectNotification - ProcessUpdateArray");
 	ProcessUpdateArray(aObjectIdArray,  MPXChangeEventType(aType), ETrue);
 #ifndef USE_S60_TNM
 	if(MPXChangeEventType(aType) == EMPXItemDeleted )
 		{			
 		TInt count = aObjectIdArray.Count();
 		iDeletedCount += count;
-		GLX_LOG_INFO2("EMPXItemDeleted - aObjectIdArray.Count()=%d, iDeletedCount=%d", 
+		GLX_DEBUG3("EMPXItemDeleted - aObjectIdArray.Count()=%d, iDeletedCount=%d", 
 		        count, iDeletedCount);
 		if(iDeletedCount > KGlxThumbnailCleanupAfterDeletions)
 		    {
@@ -586,7 +590,7 @@
 
 	if(MPXChangeEventType(aType) == EMPXItemModified )
 	    {
-	    GLX_LOG_INFO("EMPXItemModified");
+	    GLX_DEBUG1("HandleObjectNotification - EMPXItemModified");
 	    TRAP_IGNORE(ThumbnailCreator().CleanupThumbnailsL(iThumbnailDatabase));
 		}
 #endif		
@@ -635,7 +639,7 @@
     TRACER("CGlxDataSourceMde::HandleRelationPresentNotification()");
 	if (aPresent)
 		{
-		ProcessUpdateArray(aRelationIdArray, EMPXItemInserted, EFalse);
+        ProcessUpdateArray(aRelationIdArray, EMPXItemInserted, EFalse);
 		}
 	else
 		{
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -243,6 +243,9 @@
 	if( aFilterProperties.iPromoteSystemItems )
 		{
 		RArray<TGlxMediaId> list = aFilteredList;
+		// Here we don't have to push list in cleanup stack as caller function,
+		// CGlxDataSourceTaskMdeIdList::DoHandleListQueryCompletedL is already
+		// doing that.
 		TInt cameraAlbumIndex = list.Find(DataSource()->CameraAlbumId());
 		
 		// If Camera Index is not KErrNotFound, 1st Album should be Captured and 
@@ -251,13 +254,13 @@
 		if( KErrNotFound != cameraAlbumIndex )
 			{	
 			list.Remove(cameraAlbumIndex);	
-			list.Insert(DataSource()->CameraAlbumId(), KGlxCameraAlbumPromotionPosition);    			
+			list.InsertL(DataSource()->CameraAlbumId(), KGlxCameraAlbumPromotionPosition);    			
 
 			TInt favoritesIndex = list.Find(DataSource()->FavoritesId());			
 			if( KErrNotFound != favoritesIndex )
 				{
 				list.Remove(favoritesIndex);
-				list.Insert(DataSource()->FavoritesId(),KGlxfavoritesAlbumPromotionPosition);		
+				list.InsertL(DataSource()->FavoritesId(),KGlxfavoritesAlbumPromotionPosition);		
 				} 
 			}
 		else
@@ -269,7 +272,7 @@
 			if( KErrNotFound != favoritesIndex )
 				{
 				list.Remove(favoritesIndex);
-				list.Insert(DataSource()->FavoritesId(),KGlxfavoritesAlbumPromotionPosition - 1);		
+				list.InsertL(DataSource()->FavoritesId(),KGlxfavoritesAlbumPromotionPosition - 1);		
 				} 			
 			}
 					
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginalbums/inc/glxcollectionpluginalbums.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginalbums/inc/glxcollectionpluginalbums.h	Mon Jun 21 15:40:32 2010 +0300
@@ -70,7 +70,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
+	void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
 
 	/**
 	 * Modifies the response to include all requested CPI specific attributes or Leaves.
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginalbums/src/glxcollectionpluginalbums.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -100,97 +100,110 @@
     iDataSource = MGlxDataSource::OpenDataSourceL(KGlxDefaultDataSourceUid, *this);
     }
 
-void CGlxCollectionPluginAlbums::CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray)
+void CGlxCollectionPluginAlbums::CpiAttributeAdditionalAttributesL(
+        const TMPXAttribute& aCpiAttribute,
+        RArray<TMPXAttribute>& aAttributeArray)
     {
-    TRACER("CGlxCollectionPluginAlbums::CpiAttributeAdditionalAttributes");
-    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all the others are reading straight from resource files
+    TRACER("CGlxCollectionPluginAlbums::CpiAttributeAdditionalAttributesL");
+    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here 
+    // as all the others are reading straight from resource files
     // KGlxMediaCollectionPluginSpecificSubTitle requires a usage count
     if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
         {
         // need to add the usage count. but check first if it is already present
         TInt attrCount = aAttributeArray.Count();
         TBool found = EFalse;
-        
-        for ( TInt index = 0 ; index < attrCount ; index++)
+
+        for (TInt index = 0; index < attrCount; index++)
             {
-            if ( aAttributeArray[index] == KMPXMediaGeneralCount)
+            if (aAttributeArray[index] == KMPXMediaGeneralCount)
                 {
                 found = ETrue;
                 break;
                 }
             }
-            
+
         if (!found)
             {
-            aAttributeArray.Append(KGlxMediaCollectionInternalUsageCount);
+            aAttributeArray.AppendL(KGlxMediaCollectionInternalUsageCount);
             }
         }
     }
-void CGlxCollectionPluginAlbums::HandleCpiAttributeResponseL(CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TArray<TGlxMediaId> aMediaIds)
+void CGlxCollectionPluginAlbums::HandleCpiAttributeResponseL(
+        CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, 
+        TArray<TGlxMediaId> aMediaIds)
     {
     TRACER("CGlxCollectionPluginAlbums::HandleCpiAttributeResponseL");
     const TInt mediaIdCount = aMediaIds.Count();
-    
+
     switch (mediaIdCount)
         {
-    case 0:
-        User::Leave(KErrNotSupported);
-        break;
-    case 1:
-        HandleCpiAttributeResponseL(aResponse, aCpiAttributes, aMediaIds[0]);
-        break;
-    default:
+        case 0:
+            User::Leave(KErrNotSupported);
+            break;
+        case 1:
+            HandleCpiAttributeResponseL(aResponse, aCpiAttributes,
+                    aMediaIds[0]);
+            break;
+        default:
             {
             // We have an array of CMPXMedia items
-            
+
             if (TGlxMediaId(KGlxCollectionRootId) == aMediaIds[0])
                 {
                 User::Leave(KErrNotSupported);
                 }
-                
-            CMPXMediaArray* mediaArray = aResponse->ValueCObjectL<CMPXMediaArray>(KMPXMediaArrayContents);
+
+            CMPXMediaArray* mediaArray = aResponse->ValueCObjectL<
+                    CMPXMediaArray> (KMPXMediaArrayContents);
             CleanupStack::PushL(mediaArray);
 
             const TInt arrayCount = mediaArray->Count();
-            
+
             // Sanity check
             if (arrayCount != mediaIdCount)
                 {
                 User::Leave(KErrArgument);
                 }
-            
+
             for (TInt index = 0; index < arrayCount; index++)
                 {
-                HandleCpiAttributeResponseL((*mediaArray)[index], aCpiAttributes, aMediaIds[index]);
+                HandleCpiAttributeResponseL((*mediaArray)[index],
+                        aCpiAttributes, aMediaIds[index]);
                 }
 
             aResponse->SetCObjectValueL(KMPXMediaArrayContents, mediaArray);
             CleanupStack::PopAndDestroy(mediaArray);
             }
-        break;
+            break;
         }
     }
 
-void CGlxCollectionPluginAlbums::HandleCpiAttributeResponseL(CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TGlxMediaId aMediaId)
+void CGlxCollectionPluginAlbums::HandleCpiAttributeResponseL(
+        CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes,
+        TGlxMediaId aMediaId)
     {
     _LIT(KResourceFile, "z:glxpluginalbums.rsc");
 
     const TInt attribCount = aCpiAttributes.Count();
 
-    for (TInt index = 0; index < attribCount ; index++)
+    for (TInt index = 0; index < attribCount; index++)
         {
         const TMPXAttribute attr = aCpiAttributes[index];
-        
+
         if (attr == KGlxMediaCollectionPluginSpecificSubTitle)
             {
             TInt usageCount = 0;
-            if ( aResponse->IsSupported(KMPXMediaGeneralCount) )
+            if (aResponse->IsSupported(KMPXMediaGeneralCount))
                 {
-                usageCount = aResponse->ValueTObjectL<TInt>(KMPXMediaGeneralCount);
+                usageCount = aResponse->ValueTObjectL<TInt> (
+                        KMPXMediaGeneralCount);
                 }
-            else if ( aResponse->IsSupported(KGlxMediaCollectionInternalUsageCount) )
+            else if (aResponse->IsSupported(
+                    KGlxMediaCollectionInternalUsageCount))
                 {
-                usageCount = aResponse->ValueTObjectL<TInt>(KGlxMediaCollectionInternalUsageCount);
+                usageCount = aResponse->ValueTObjectL<TInt> (
+                        KGlxMediaCollectionInternalUsageCount);
                 aResponse->Delete(KGlxMediaCollectionInternalUsageCount);
                 }
             else
@@ -198,115 +211,133 @@
                 User::Leave(KErrNotSupported);
                 }
             HBufC* tempTitle = NULL;
-            
+
             if (TGlxMediaId(KGlxCollectionRootId) == aMediaId)
-            	{
+                {
                 if (1 == usageCount)
-                	{
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALBUM_SUB_TITLE_SINGLE);
-                    aResponse->SetTextValueL(attr, *tempTitle);  
+                    {
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALBUM_SUB_TITLE_SINGLE);
+                    aResponse->SetTextValueL(attr, *tempTitle);
                     CleanupStack::PopAndDestroy(tempTitle);
-                    continue;                   
-                	}
+                    continue;
+                    }
                 else
-                	{
-                	tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALBUM_SUB_TITLE_MULTI);
-                	}
-            	}
+                    {
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALBUM_SUB_TITLE_MULTI);
+                    }
+                }
             else
-            	{
-            	if(0 == usageCount)
-            		{
-                	tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALBUM_ITEM_SUB_TITLE_EMPTY);
-                	
-                	// Set the title in the response.
-            		aResponse->SetTextValueL(attr, *tempTitle);  
-            		CleanupStack::PopAndDestroy(tempTitle);
-					
-            		// Set the count in the response.
-            		aResponse->SetTObjectValueL(KMPXMediaGeneralCount, usageCount); 
-					
-            		continue;                	
-            		}            	
-            	else if (1 == usageCount)
-                	{
-                	tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALBUM_ITEM_SUB_TITLE_SINGLE);
-                    aResponse->SetTextValueL(attr, *tempTitle);  
+                {
+                if (0 == usageCount)
+                    {
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALBUM_ITEM_SUB_TITLE_EMPTY);
+
+                    // Set the title in the response.
+                    aResponse->SetTextValueL(attr, *tempTitle);
                     CleanupStack::PopAndDestroy(tempTitle);
-					
-            		// Set the count in the response.
-            		aResponse->SetTObjectValueL(KMPXMediaGeneralCount, usageCount);    
+
+                    // Set the count in the response.
+                    aResponse->SetTObjectValueL(KMPXMediaGeneralCount,
+                            usageCount);
 
-                    continue;                   
-                	}
+                    continue;
+                    }
+                else if (1 == usageCount)
+                    {
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALBUM_ITEM_SUB_TITLE_SINGLE);
+                    aResponse->SetTextValueL(attr, *tempTitle);
+                    CleanupStack::PopAndDestroy(tempTitle);
+
+                    // Set the count in the response.
+                    aResponse->SetTObjectValueL(KMPXMediaGeneralCount,
+                            usageCount);
+
+                    continue;
+                    }
                 else
-                	{
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALBUM_ITEM_SUB_TITLE_MULTI);
-                	}
-            	}
-            
+                    {
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALBUM_ITEM_SUB_TITLE_MULTI);
+                    }
+                }
+
             TPtr formatString = tempTitle->Des();
-            
-            // Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+
+            // Now create a buffer that will contain the result. needs to be 
+            // length of format string plus a few extra for the number
             HBufC* title = HBufC::NewLC(formatString.Length() + 10);
             TPtr ptr = title->Des();
             StringLoader::Format(ptr, formatString, -1, usageCount);
-            
+
             // Set the title in the response.
-            aResponse->SetTextValueL(attr, *title);    
+            aResponse->SetTextValueL(attr, *title);
 
             // Set the count in the response.
-            aResponse->SetTObjectValueL(KMPXMediaGeneralCount, usageCount);    
+            aResponse->SetTObjectValueL(KMPXMediaGeneralCount, usageCount);
 
             CleanupStack::PopAndDestroy(title);
             CleanupStack::PopAndDestroy(tempTitle);
             }
-        else if (attr == KGlxMediaCollectionPluginSpecificSelectMediaPopupTitle)
+        else if (attr
+                == KGlxMediaCollectionPluginSpecificSelectMediaPopupTitle)
             {
-            HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_POPUP_TITLE);
-            aResponse->SetTextValueL(attr, *title);  
-            CleanupStack::PopAndDestroy(title); 
+            HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                    R_ALBUM_POPUP_TITLE);
+            aResponse->SetTextValueL(attr, *title);
+            CleanupStack::PopAndDestroy(title);
             }
         else if (attr == KGlxMediaCollectionPluginSpecificNewMediaItemTitle)
             {
-            HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_ITEM_TITLE);
-            aResponse->SetTextValueL(attr, *title);  
-            CleanupStack::PopAndDestroy(title); 
+            HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                    R_ALBUM_ITEM_TITLE);
+            aResponse->SetTextValueL(attr, *title);
+            CleanupStack::PopAndDestroy(title);
             }
         else if (attr == KGlxMediaCollectionPluginSpecificDefaultMediaTitle)
             {
-            HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_DEFAULT_TITLE);
-            aResponse->SetTextValueL(attr, *title);  
-            CleanupStack::PopAndDestroy(title); 
+            HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                    R_ALBUM_DEFAULT_TITLE);
+            aResponse->SetTextValueL(attr, *title);
+            CleanupStack::PopAndDestroy(title);
             }
         else if (attr == KMPXMediaGeneralTitle)
             {
-            if( TGlxMediaId(KGlxCollectionRootId) == aMediaId )
+            if (TGlxMediaId(KGlxCollectionRootId) == aMediaId)
                 {
-                HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_GENERAL_TITLE);
-                aResponse->SetTextValueL(attr, *title);  
-                CleanupStack::PopAndDestroy(title); 
+                HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                        R_ALBUM_GENERAL_TITLE);
+                aResponse->SetTextValueL(attr, *title);
+                CleanupStack::PopAndDestroy(title);
                 }
             else
                 {
-                if( aResponse->IsSupported(KGlxMediaCollectionInternalSystemItemType) )
-					{
-					TGlxMediaId responseMediaid ((TUint32)aResponse->ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId));
-					// Set the text value based on the Media ID in aResponse
-					if( TGlxMediaId(KCapturedAlbumId) == responseMediaid )
-						{
-						HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_CAMERA_TITLE);
-						aResponse->SetTextValueL(attr, *title);  
-						CleanupStack::PopAndDestroy(title);						
-						}
-					else if (TGlxMediaId(KFavoriteAlbumId) == responseMediaid  )
-						{
-						HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALBUM_FAVORITES_TITLE);
-						aResponse->SetTextValueL(attr, *title);  
-						CleanupStack::PopAndDestroy(title);						
-						}
-					}                                             
-                 aResponse->Delete(KGlxMediaCollectionInternalSystemItemType);                    
+                if (aResponse->IsSupported(
+                        KGlxMediaCollectionInternalSystemItemType))
+                    {
+                    TGlxMediaId responseMediaid(
+                            (TUint32) aResponse->ValueTObjectL<TMPXItemId> (
+                                    KMPXMediaGeneralId));
+                    // Set the text value based on the Media ID in aResponse
+                    if (TGlxMediaId(KCapturedAlbumId) == responseMediaid)
+                        {
+                        HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                                R_ALBUM_CAMERA_TITLE);
+                        aResponse->SetTextValueL(attr, *title);
+                        CleanupStack::PopAndDestroy(title);
+                        }
+                    else if (TGlxMediaId(KFavoriteAlbumId) == responseMediaid)
+                        {
+                        HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                                R_ALBUM_FAVORITES_TITLE);
+                        aResponse->SetTextValueL(attr, *title);
+                        CleanupStack::PopAndDestroy(title);
+                        }
+                    }
+                aResponse->Delete(KGlxMediaCollectionInternalSystemItemType);
                 }
             }
         }
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginall/inc/glxcollectionpluginall.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginall/inc/glxcollectionpluginall.h	Mon Jun 21 15:40:32 2010 +0300
@@ -66,7 +66,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
+	void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
 
 	/**
 	 * Modifies the response to include all requested CPI specific attributes or Leaves.
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginall/src/glxcollectionpluginall.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginall/src/glxcollectionpluginall.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -96,35 +96,40 @@
     iDataSource = MGlxDataSource::OpenDataSourceL(KGlxDefaultDataSourceUid, *this);
 	}
 
-void CGlxCollectionPluginAll::CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray)
-	{
-    TRACER("CGlxCollectionPluginAll::CpiAttributeAdditionalAttributes()");
-    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all the others are reading straight from resource files
+void CGlxCollectionPluginAll::CpiAttributeAdditionalAttributesL(
+        const TMPXAttribute& aCpiAttribute,
+        RArray<TMPXAttribute>& aAttributeArray)
+    {
+    TRACER("CGlxCollectionPluginAll::CpiAttributeAdditionalAttributesL()");
+    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as 
+    // all the others are reading straight from resource files
     // KGlxMediaCollectionPluginSpecificSubTitle requires a usage count
-	if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
-	    {
-	    // need to add the usage count. but check first if it is already present
-	    TInt attrCount = aAttributeArray.Count();
-	    TBool found = EFalse;
-	    
-	    for ( TInt index = 0 ; index < attrCount ; index++)
-	        {
-	        if (aAttributeArray[index] == KMPXMediaGeneralCount)
-	            {
-	            found = ETrue;
-	            break;
-	            }
-	        }
-	        
-	    if (!found)
-	        {
-	        aAttributeArray.Append(KMPXMediaGeneralCount);
-	        }
-	    }
- 	}
+    if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
+        {
+        // need to add the usage count. but check first if it is already present
+        TInt attrCount = aAttributeArray.Count();
+        TBool found = EFalse;
 
-void CGlxCollectionPluginAll::HandleCpiAttributeResponseL(CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TArray<TGlxMediaId> /* aMediaIds */)
-	{
+        for (TInt index = 0; index < attrCount; index++)
+            {
+            if (aAttributeArray[index] == KMPXMediaGeneralCount)
+                {
+                found = ETrue;
+                break;
+                }
+            }
+
+        if (!found)
+            {
+            aAttributeArray.AppendL(KMPXMediaGeneralCount);
+            }
+        }
+    }
+
+void CGlxCollectionPluginAll::HandleCpiAttributeResponseL(
+        CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, 
+        TArray<TGlxMediaId> /* aMediaIds */)
+    {
     TRACER("CGlxCollectionPluginAll::HandleCpiAttributeResponseL");
     _LIT(KResourceFile, "z:glxpluginall.rsc");
     
@@ -142,64 +147,71 @@
 	            }
             else
                 {
-                TInt usageCount = aResponse->ValueTObjectL<TInt>(KMPXMediaGeneralCount);
+                TInt usageCount = aResponse->ValueTObjectL<TInt> (
+                        KMPXMediaGeneralCount);
                 HBufC* tempTitle = NULL;
-                
-                if(0 == usageCount)
-                	{
-                	tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALL_ITEM_SUB_TITLE_EMPTY);                	
-                	// Set the title in the response.
-            		aResponse->SetTextValueL(attr, *tempTitle);  
-            		CleanupStack::PopAndDestroy(tempTitle);
-            		continue;            
-                	}
+
+                if (0 == usageCount)
+                    {
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALL_ITEM_SUB_TITLE_EMPTY);
+                    // Set the title in the response.
+                    aResponse->SetTextValueL(attr, *tempTitle);
+                    CleanupStack::PopAndDestroy(tempTitle);
+                    continue;
+                    }
                 // Get the format string
-                else  if (1 == usageCount)
+                else if (1 == usageCount)
                     {
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALL_SUB_TITLE_SINGLE);
-                    aResponse->SetTextValueL(attr, *tempTitle);  
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALL_SUB_TITLE_SINGLE);
+                    aResponse->SetTextValueL(attr, *tempTitle);
                     CleanupStack::PopAndDestroy(tempTitle);
-                    continue; 
+                    continue;
                     }
                 else
                     {
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_ALL_SUB_TITLE_MULTI);
+                    tempTitle = LoadLocalizedStringLC(KResourceFile,
+                            R_ALL_SUB_TITLE_MULTI);
                     }
                 TPtr formatString = tempTitle->Des();
-                
-                // Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+
+                // Now create a buffer that will contain the result. needs to be 
+                // length of format string plus a few extra for the number
                 HBufC* title = HBufC::NewLC(formatString.Length() + 10);
                 TPtr ptr = title->Des();
                 StringLoader::Format(ptr, formatString, -1, usageCount);
-           
+
                 // Set the title in the response.
-                aResponse->SetTextValueL(attr, *title);    
+                aResponse->SetTextValueL(attr, *title);
 
                 CleanupStack::PopAndDestroy(title);
                 CleanupStack::PopAndDestroy(tempTitle);
                 }
-	        }
-	    else if (attr == KGlxMediaCollectionPluginSpecificSelectMediaPopupTitle)
-	        {
-	        User::Leave(KErrNotSupported);
-	        }
-	    else if (attr == KGlxMediaCollectionPluginSpecificNewMediaItemTitle)
-	        {
-	        User::Leave(KErrNotSupported);
-	        }
-	    else if (attr == KGlxMediaCollectionPluginSpecificDefaultMediaTitle)
-	        {
-	        User::Leave(KErrNotSupported);
-	        }
-	    else if (attr == KMPXMediaGeneralTitle)
-	        {
-	        HBufC* title = LoadLocalizedStringLC(KResourceFile, R_ALL_GENERAL_TITLE);
+            }
+        else if (attr
+                == KGlxMediaCollectionPluginSpecificSelectMediaPopupTitle)
+            {
+            User::Leave(KErrNotSupported);
+            }
+        else if (attr == KGlxMediaCollectionPluginSpecificNewMediaItemTitle)
+            {
+            User::Leave(KErrNotSupported);
+            }
+        else if (attr == KGlxMediaCollectionPluginSpecificDefaultMediaTitle)
+            {
+            User::Leave(KErrNotSupported);
+            }
+        else if (attr == KMPXMediaGeneralTitle)
+            {
+            HBufC* title = LoadLocalizedStringLC(KResourceFile,
+                    R_ALL_GENERAL_TITLE);
             // Set the title in the response.
-            aResponse->SetTextValueL(attr, *title);  
-            CleanupStack::PopAndDestroy(title); 
-	        }
-	    }
-	}
+            aResponse->SetTextValueL(attr, *title);
+            CleanupStack::PopAndDestroy(title);
+            }
+        }
+    }
 
 TBool CGlxCollectionPluginAll::IsUpdateMessageIgnoredL(CMPXMessage& /*aMessage*/)
 	{
--- a/photosgallery/collectionframework/plugins/glxcollectionplugincamera/inc/glxcollectionplugincamera.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionplugincamera/inc/glxcollectionplugincamera.h	Mon Jun 21 15:40:32 2010 +0300
@@ -73,7 +73,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
+	void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
 
 	/**
 	 * Modifies the response to include all requested CPI specific attributes or Leaves.
--- a/photosgallery/collectionframework/plugins/glxcollectionplugincamera/src/glxcollectionplugincamera.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionplugincamera/src/glxcollectionplugincamera.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -97,79 +97,84 @@
     iDataSource = MGlxDataSource::OpenDataSourceL(KGlxDefaultDataSourceUid, *this);
 	}
 // ----------------------------------------------------------------------------
-// CpiAttributeAdditionalAttributes
+// CpiAttributeAdditionalAttributesL
 // ----------------------------------------------------------------------------
 //
-void CGlxCollectionPluginCamera::CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray)
-	{
-    TRACER("CGlxCollectionPluginCamera::CpiAttributeAdditionalAttributes");
-    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all the other attributes
-    // are reading straight from resource files KGlxMediaCollectionPluginSpecificSubTitle 
-    // requires a image and the Video count in the collection
-    
-	if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
-		{
-		// need to add the usage count. but check first if it is already present
-		TInt attrCount = aAttributeArray.Count();
-		
-		TBool found = EFalse;
-		
+void CGlxCollectionPluginCamera::CpiAttributeAdditionalAttributesL(
+        const TMPXAttribute& aCpiAttribute,
+        RArray<TMPXAttribute>& aAttributeArray)
+    {
+    TRACER("CGlxCollectionPluginCamera::CpiAttributeAdditionalAttributesL");
+    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as 
+    // all the other attributes are reading straight from resource files 
+    // KGlxMediaCollectionPluginSpecificSubTitle requires a image and the 
+    // Video count in the collection
+
+    if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
+        {
+        // need to add the usage count. but check first if it is already present
+        TInt attrCount = aAttributeArray.Count();
+
+        TBool found = EFalse;
+
 #ifdef GLX_SUB_TITLE_REL8
-		
-		TBool videofound = EFalse;
-		TBool imagefound = EFalse;		
+
+        TBool videofound = EFalse;
+        TBool imagefound = EFalse;
 
-		for ( TInt index = 0 ; index < attrCount ; index++)
-			{
-			if (aAttributeArray[index] == KMPXMediaGeneralCount)
-				{
-				found = ETrue;	            
-				}
-			else if (aAttributeArray[index] == KGlxMediaItemTypeVideo)
-				{
-				videofound = ETrue;	            
-				}
-			else if(aAttributeArray[index] == KGlxMediaItemTypeImage)	            
-				{
-				imagefound = ETrue;
-				}
-				
-		if (!videofound)
-			{
-			aAttributeArray.Append(KGlxMediaItemTypeVideo);
-			}
-		if (!imagefound)	        
-			{
-			aAttributeArray.Append(KGlxMediaItemTypeImage);
-			}
-		if (!found)
-			{
-			aAttributeArray.Append(KMPXMediaGeneralCount);
-			}
-				
+        for ( TInt index = 0; index < attrCount; index++)
+            {
+            if (aAttributeArray[index] == KMPXMediaGeneralCount)
+                {
+                found = ETrue;
+                }
+            else if (aAttributeArray[index] == KGlxMediaItemTypeVideo)
+                {
+                videofound = ETrue;
+                }
+            else if(aAttributeArray[index] == KGlxMediaItemTypeImage)
+                {
+                imagefound = ETrue;
+                }
+
+            if (!videofound)
+                {
+                aAttributeArray.AppendL(KGlxMediaItemTypeVideo);
+                }
+            if (!imagefound)
+                {
+                aAttributeArray.AppendL(KGlxMediaItemTypeImage);
+                }
+            if (!found)
+                {
+                aAttributeArray.AppendL(KMPXMediaGeneralCount);
+                }
+
 #else
 
-	for ( TInt index = 0 ; index < attrCount ; index++)
-			{
-			if (aAttributeArray[index] == KMPXMediaGeneralCount)
-				{
-				found = ETrue;	            
-				}			
-			}			
-		if (!found)
-			{
-			aAttributeArray.Append(KMPXMediaGeneralCount);
-			}       
+        for (TInt index = 0; index < attrCount; index++)
+            {
+            if (aAttributeArray[index] == KMPXMediaGeneralCount)
+                {
+                found = ETrue;
+                }
+            }
+        if (!found)
+            {
+            aAttributeArray.AppendL(KMPXMediaGeneralCount);
+            }
 #endif						
-		}
-	}
+        }
+    }
 
 // ----------------------------------------------------------------------------
 // HandleCpiAttributeResponseL
 // ----------------------------------------------------------------------------
 // 
-void CGlxCollectionPluginCamera::HandleCpiAttributeResponseL(CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TArray<TGlxMediaId> /* aMediaIds */)
-	{
+void CGlxCollectionPluginCamera::HandleCpiAttributeResponseL(
+        CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, 
+        TArray<TGlxMediaId> /* aMediaIds */)
+    {
     TRACER("CGlxCollectionPluginCamera::HandleCpiAttributeResponseL");
     
     _LIT(KResourceFile, "z:glxplugincamera.rsc");
@@ -216,7 +221,8 @@
 					{	
 					GLX_LOG_INFO("ImageCount and VideoCount is 0");
 									
-					tempTitle = LoadLocalizedStringLC(KResourceFile, R_CAMERA_SUB_TITLE_NO_IMAGE_NO_VIDEO);
+					tempTitle = LoadLocalizedStringLC(KResourceFile, 
+					        R_CAMERA_SUB_TITLE_NO_IMAGE_NO_VIDEO);
 					aResponse->SetTextValueL(attr, *tempTitle);	
 					}
 
@@ -225,11 +231,13 @@
 					{
 					GLX_LOG_INFO1("ImageCount is 0 and VideoCount is %d",videoCount);
 					
-					tempTitle = LoadLocalizedStringLC(KResourceFile, R_CAMERA_SUB_TITLE_ONE_IMAGE_MULTI_VIDEO);
+					tempTitle = LoadLocalizedStringLC(KResourceFile, 
+					        R_CAMERA_SUB_TITLE_ONE_IMAGE_MULTI_VIDEO);
 
 					TPtr formatString = tempTitle->Des();
 
-					// Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+					// Now create a buffer that will contain the result. needs to be 
+					// length of format string plus a few extra for the number
 					HBufC* title = HBufC::NewLC(formatString.Length() + 10);
 					TPtr ptr = title->Des();
 
@@ -246,11 +254,13 @@
 					{
 					GLX_LOG_INFO1("ImageCount is %d and VideoCount is 0",imageCount);
 					
-					tempTitle = LoadLocalizedStringLC(KResourceFile, R_CAMERA_SUB_TITLE_MULTI_IMAGE_ONE_VIDEO);                	
+					tempTitle = LoadLocalizedStringLC(KResourceFile, 
+					        R_CAMERA_SUB_TITLE_MULTI_IMAGE_ONE_VIDEO);                	
 
 					TPtr formatString = tempTitle->Des();
 
-					// Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+					// Now create a buffer that will contain the result. needs to be 
+					// length of format string plus a few extra for the number
 					HBufC* title = HBufC::NewLC(formatString.Length() + 10);
 					TPtr ptr = title->Des();
 
@@ -267,7 +277,8 @@
 					{
 					GLX_LOG_INFO2("ImageCount is %d,VideoCount is %d",imageCount,videoCount);
 					
-					tempTitle = LoadLocalizedStringLC(KResourceFile, R_CAMERA_SUB_TITLE_MULTI_IMAGE_MULTI_VIDEO);                	
+					tempTitle = LoadLocalizedStringLC(KResourceFile, 
+					        R_CAMERA_SUB_TITLE_MULTI_IMAGE_MULTI_VIDEO);                	
 					TPtr formatString = tempTitle->Des();	
 
 					HBufC* title = HBufC::NewLC(formatString.Length() + 10);
@@ -290,7 +301,8 @@
 #else
 				if(0 == usageCount)
             		{
-                	tempTitle = LoadLocalizedStringLC(KResourceFile, R_CAMERA_SUB_TITLE_NO_IMAGE_NO_VIDEO);                	
+                	tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                	        R_CAMERA_SUB_TITLE_NO_IMAGE_NO_VIDEO);                	
                 	// Set the title in the response.
             		aResponse->SetTextValueL(attr, *tempTitle);  
             		CleanupStack::PopAndDestroy(tempTitle);
@@ -310,7 +322,8 @@
                     }
                 TPtr formatString = tempTitle->Des();
                 
-                // Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+                // Now create a buffer that will contain the result. needs to be 
+                // length of format string plus a few extra for the number
                 HBufC* title = HBufC::NewLC(formatString.Length() + 10);
                 TPtr ptr = title->Des();
                 StringLoader::Format(ptr, formatString, -1, usageCount);
--- a/photosgallery/collectionframework/plugins/glxcollectionplugindownloads/inc/glxcollectionplugindownloads.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionplugindownloads/inc/glxcollectionplugindownloads.h	Mon Jun 21 15:40:32 2010 +0300
@@ -77,7 +77,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
+	void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
 
 	/**
 	 * Modifies the response to include all requested CPI specific attributes or Leaves.
--- a/photosgallery/collectionframework/plugins/glxcollectionplugindownloads/src/glxcollectionplugindownloads.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionplugindownloads/src/glxcollectionplugindownloads.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -44,6 +44,12 @@
 #include <glxtracer.h>
 
 #include "glxcollectionplugindownloads.hrh"
+
+// CONSTANT
+namespace
+    {
+    const TInt KDateBufferPadding = 10;
+    }
 /**
  * @internal reviewed 14/06/2007 by Alex Birkett
  */
@@ -97,10 +103,13 @@
 // CpiAttributeAdditionalAttributes
 // ----------------------------------------------------------------------------
 //
-void CGlxCollectionPluginDownloads::CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray)
-	{
-    TRACER("CGlxCollectionPluginDownloads::CpiAttributeAdditionalAttributes");
-    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all the others are reading straight from resource files
+void CGlxCollectionPluginDownloads::CpiAttributeAdditionalAttributesL(
+        const TMPXAttribute& aCpiAttribute,
+        RArray<TMPXAttribute>& aAttributeArray)
+    {
+    TRACER("CGlxCollectionPluginDownloads::CpiAttributeAdditionalAttributesL");
+    // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all 
+    // the others are reading straight from resource files
     // KGlxMediaCollectionPluginSpecificSubTitle requires a usage count
 	if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
 	    {
@@ -119,7 +128,7 @@
 	        
 	    if (!found)
 	        {
-	        aAttributeArray.Append(KMPXMediaGeneralCount);
+	        aAttributeArray.AppendL(KMPXMediaGeneralCount);
 	        }
 	    }
 	}
@@ -128,8 +137,10 @@
 // HandleCpiAttributeResponseL
 // ----------------------------------------------------------------------------
 // 
-void CGlxCollectionPluginDownloads::HandleCpiAttributeResponseL(CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TArray<TGlxMediaId> /* aMediaIds */)
-	{
+void CGlxCollectionPluginDownloads::HandleCpiAttributeResponseL(
+        CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TArray<
+                TGlxMediaId> /* aMediaIds */)
+    {
     TRACER("CGlxCollectionPluginDownloads::HandleCpiAttributeResponseL");
     
     _LIT(KResourceFile, "z:glxplugindownloads.rsc");
@@ -161,7 +172,8 @@
 					{
 					GLX_LOG_INFO("Count is 0 items");
 					
-					tempTitle = LoadLocalizedStringLC(KResourceFile,R_DOWNLOADS_SUB_TITLE_NO_IMG_NO_VID);
+					tempTitle = LoadLocalizedStringLC(KResourceFile,
+					        R_DOWNLOADS_SUB_TITLE_NO_IMG_NO_VID);
 					aResponse->SetTextValueL(attr, *tempTitle); 
 					}
 					
@@ -169,19 +181,24 @@
 					{
 					GLX_LOG_INFO("Count is 1 item");
 						                    
-					tempTitle = LoadLocalizedStringLC(KResourceFile, R_DOWNLOADS_SUB_TITLE_SINGLE);
+					tempTitle = LoadLocalizedStringLC(KResourceFile, 
+					        R_DOWNLOADS_SUB_TITLE_SINGLE);
 					aResponse->SetTextValueL(attr, *tempTitle); 
 					}
 				else
 					{
 					GLX_LOG_INFO1("Count is %d items",usageCount);
 					
-					tempTitle = LoadLocalizedStringLC(KResourceFile, R_DOWNLOADS_SUB_TITLE_MULTI);
+					tempTitle = LoadLocalizedStringLC(KResourceFile, 
+					        R_DOWNLOADS_SUB_TITLE_MULTI);
 					//Format the string
 					TPtr formatString = tempTitle->Des();
 
-					// Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
-					HBufC* title = HBufC::NewLC(formatString.Length() + 10);
+					// Now create a buffer that will contain the result. 
+					// needs to be length of format string plus a few 
+					// extra for the number
+					HBufC* title = HBufC::NewLC(formatString.Length() + 
+					        KDateBufferPadding);
 					TPtr ptr = title->Des();
 					StringLoader::Format(ptr, formatString, -1, usageCount);
 
@@ -193,7 +210,8 @@
 #else
             	if(0 == usageCount)
             		{
-                	tempTitle = LoadLocalizedStringLC(KResourceFile, R_DOWNLOADS_SUB_TITLE_NO_IMG_NO_VID);                	
+                	tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                	        R_DOWNLOADS_SUB_TITLE_NO_IMG_NO_VID);                	
                 	// Set the title in the response.
             		aResponse->SetTextValueL(attr, *tempTitle);  
             		CleanupStack::PopAndDestroy(tempTitle);
@@ -202,19 +220,22 @@
 				// Get the format string
             	else if (1 == usageCount)
                     {
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_DOWNLOADS_SUB_TITLE_SINGLE);
+                    tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                            R_DOWNLOADS_SUB_TITLE_SINGLE);
                     aResponse->SetTextValueL(attr, *tempTitle);  
                     CleanupStack::PopAndDestroy(tempTitle);
                     continue; 
                     }
                 else
                     {
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_DOWNLOADS_SUB_TITLE_MULTI);
+                    tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                            R_DOWNLOADS_SUB_TITLE_MULTI);
                     }
                 TPtr formatString = tempTitle->Des();
                 
-                // Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
-                HBufC* title = HBufC::NewLC(formatString.Length() + 10);
+                // Now create a buffer that will contain the result. needs to be 
+                // length of format string plus a few extra for the number
+                HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPadding);
                 TPtr ptr = title->Des();
                 StringLoader::Format(ptr, formatString, -1, usageCount);
                 
@@ -248,7 +269,8 @@
 	        {
 	        GLX_LOG_INFO("Attribute : GeneralTitle");
 	        
-	        HBufC* title = LoadLocalizedStringLC(KResourceFile, R_DOWNLOADS_GENERAL_TITLE);
+	        HBufC* title = LoadLocalizedStringLC(KResourceFile, 
+	                R_DOWNLOADS_GENERAL_TITLE);
             // Set the title in the response.
             aResponse->SetTextValueL(attr, *title);  
             CleanupStack::PopAndDestroy(title); 
@@ -265,7 +287,8 @@
 TBool CGlxCollectionPluginDownloads::IsUpdateMessageIgnoredL(CMPXMessage& /*aMessage*/)
 	{
 	TRACER("CGlxCollectionPluginDownloads::IsUpdateMessageIgnoredL");	
-	/// @todo origin could be passed up to allow downloads to ignore irrelevant adds, wait until inheritance is resolved
+	/// @todo origin could be passed up to allow downloads to ignore irrelevant adds, 
+	// wait until inheritance is resolved
 	TBool ignore = EFalse;
 	return ignore;
 	}
@@ -279,8 +302,10 @@
     {
     TRACER("CGlxCollectionPluginDownloads::DefaultFilter");
     
-    __ASSERT_DEBUG(( (aLevel == KGlxCollectionRootLevel) || (aLevel == KGlxCollectionRootLevel+1) 
-    || (aLevel == KGlxCollectionRootLevel+2) ), Panic(EGlxPanicInvalidPathLevel));
+    __ASSERT_DEBUG(( (aLevel == KGlxCollectionRootLevel) 
+            || (aLevel == KGlxCollectionRootLevel+1) 
+            || (aLevel == KGlxCollectionRootLevel+2) ), 
+            Panic(EGlxPanicInvalidPathLevel));
     TGlxFilterProperties filterProperties;
 	filterProperties.iSortOrder = EGlxFilterSortOrderCaptureDate;
     filterProperties.iSortDirection = EGlxFilterSortDirectionDescending;
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/inc/glxcollectionpluginimageviewer.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/inc/glxcollectionpluginimageviewer.h	Mon Jun 21 15:40:32 2010 +0300
@@ -63,7 +63,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
+	void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray);     	
 
 	/**
 	 * Modifies the response to include all requested CPI specific attributes or Leaves.
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/src/glxcollectionpluginimageviewer.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/src/glxcollectionpluginimageviewer.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -91,7 +91,7 @@
     iDataSource = MGlxDataSource::OpenDataSourceL(KGlxDefaultDataSourceUid, *this);
     }
 
-void CGlxCollectionPluginImageViewer::CpiAttributeAdditionalAttributes(
+void CGlxCollectionPluginImageViewer::CpiAttributeAdditionalAttributesL(
         const TMPXAttribute& /*aCpiAttribute*/, 
         RArray<TMPXAttribute>& /*aAttributeArray*/)
     {
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/inc/glxcollectionpluginmonths.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/inc/glxcollectionpluginmonths.h	Mon Jun 21 15:40:32 2010 +0300
@@ -79,7 +79,7 @@
 	 * @param aCpiAttribute CPI specific attribute to be constructed later
 	 * @param aAttributeArray modifiable list of attributes to be retrieved from data source
 	 */	 
-	void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute,
+	void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute,
 			RArray<TMPXAttribute>& aAttributeArray);
 
 	/**
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -109,13 +109,13 @@
 
  
 // ----------------------------------------------------------------------------
-// CpiAttributeAdditionalAttributes
+// CpiAttributeAdditionalAttributesL
 // ----------------------------------------------------------------------------
 //
-void CGlxCollectionPluginMonths::CpiAttributeAdditionalAttributes(
+void CGlxCollectionPluginMonths::CpiAttributeAdditionalAttributesL(
 	const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray)
 	{
-    TRACER("CGlxCollectionPluginMonths::CpiAttributeAdditionalAttributes");
+    TRACER("CGlxCollectionPluginMonths::CpiAttributeAdditionalAttributesL");
     // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all the others are reading straight from resource files
     // KGlxMediaCollectionPluginSpecificSubTitle requires a usage count
 	if (aCpiAttribute == KGlxMediaCollectionPluginSpecificSubTitle)
@@ -156,23 +156,23 @@
 
 		if (!found)
 			{
-			aAttributeArray.Append(KGlxMediaCollectionInternalUsageCount);
+            aAttributeArray.AppendL(KGlxMediaCollectionInternalUsageCount);
 			}
 			
 		if (!startfound)
 			{
-			aAttributeArray.Append(KGlxMediaCollectionInternalStartDate);
+            aAttributeArray.AppendL(KGlxMediaCollectionInternalStartDate);
 			}
 		// end date will be returned when start date is requested.	        
 
 		if (!videofound)
 			{
-			aAttributeArray.Append(KGlxMediaItemTypeVideo);
+            aAttributeArray.AppendL(KGlxMediaItemTypeVideo);
 			}
 
 		if (!imagefound)	        
 			{
-			aAttributeArray.Append(KGlxMediaItemTypeImage);
+            aAttributeArray.AppendL(KGlxMediaItemTypeImage);
 			}	
 #else
 
@@ -196,16 +196,16 @@
 	        
 	    if (!found)
 	        {
-	        aAttributeArray.Append(KGlxMediaCollectionInternalUsageCount);
+            aAttributeArray.AppendL(KGlxMediaCollectionInternalUsageCount);
 	        }
 #ifdef SHOW_MONTHS_START_END_SUB_TITLE				
 	    if (!startfound)
 	        {
-	        aAttributeArray.Append(KGlxMediaCollectionInternalStartDate);
+            aAttributeArray.AppendL(KGlxMediaCollectionInternalStartDate);
 	        }
 	    if(!endfound)
 	    	{
-	    	aAttributeArray.Append(KGlxMediaCollectionInternalEndDate);
+            aAttributeArray.AppendL(KGlxMediaCollectionInternalEndDate);
 	        }
 #endif // #ifdef SHOW_MONTHS_START_END_SUB_TITLE
 #endif // #ifdef GLX_SUB_TITLE_REL8
@@ -281,7 +281,8 @@
     TRACER("CGlxCollectionPluginMonths::HandleCpiAttributeResponseL");
     
 	TInt count = aCpiAttributes.Count();
-    GLX_DEBUG2("CGlxCollectionPluginMonths::HandleCpiAttributeResponseL count=%d", count);    
+    GLX_DEBUG2("CGlxCollectionPluginMonths::HandleCpiAttributeResponseL count=%d", 
+            count);    
 	
 	TLanguage lang;
     lang = User::Language();
@@ -311,33 +312,38 @@
 					// Get the format string
 					HBufC* tempTitle = NULL;
 
-					if(0 == usageCount)	
-						{	
-						GLX_LOG_INFO("SubTitle:0 Items");
-											
-						tempTitle = LoadLocalizedStringLC(KResourceFile, R_MONTHS_SUB_TITLE_NO_IMAGE_NO_VIDEO);
-						aResponse->SetTextValueL(attr, *tempTitle);
-						}
+					if(0 == usageCount)
+                        {
+                        GLX_LOG_INFO("SubTitle:0 Items");
+
+                        tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                                R_MONTHS_SUB_TITLE_NO_IMAGE_NO_VIDEO);
+                        aResponse->SetTextValueL(attr, *tempTitle);
+                        }
+
+                    // Get the format string
+
+                    else if (1 == usageCount)
+                        {
+                        GLX_LOG_INFO("SubTitle:1 Item");
 
-					// Get the format string
-					else if (1 == usageCount)
-						{
-						GLX_LOG_INFO("SubTitle:1 Item");
-						
-						tempTitle = LoadLocalizedStringLC(KResourceFile, R_MONTHS_SUB_TITLE_SINGLE_BY_MONTH);
-						aResponse->SetTextValueL(attr, *tempTitle);
-						}
-					else 
-						{
-						GLX_LOG_INFO1("SubTitle: %d Items",usageCount);
-						
-						tempTitle = LoadLocalizedStringLC(KResourceFile, R_MONTHS_SUB_TITLE_MULTI_BY_MONTH);						
-						TPtr formatString = tempTitle->Des();
+                        tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                                R_MONTHS_SUB_TITLE_SINGLE_BY_MONTH);
+                        aResponse->SetTextValueL(attr, *tempTitle);
+                        }
+                    else
+                        {
+                        GLX_LOG_INFO1("SubTitle: %d Items",usageCount);
 
-						// Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
-						HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPaddingMin);
-						TPtr ptr = title->Des();
-						StringLoader::Format(ptr, formatString, -1, usageCount);
+                        tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                                R_MONTHS_SUB_TITLE_MULTI_BY_MONTH);
+                        TPtr formatString = tempTitle->Des();
+
+                        // Now create a buffer that will contain the result. needs to be 
+                        // length of format string plus a few extra for the number
+                        HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPaddingMin);
+                        TPtr ptr = title->Des();
+                        StringLoader::Format(ptr, formatString, -1, usageCount);
 
 						// Set the title in the response.
 						aResponse->SetTextValueL(attr, *title);    
@@ -359,7 +365,8 @@
 	            HBufC* tempTitle = NULL;
                 if( TTime(0) == start )
                     {
-                    tempTitle = LoadLocalizedStringLC(KResourceFile, R_MONTHS_SUB_TITLE_NO_IMAGE_NO_VIDEO);
+                    tempTitle = LoadLocalizedStringLC(KResourceFile, 
+                            R_MONTHS_SUB_TITLE_NO_IMAGE_NO_VIDEO);
                     aResponse->SetTextValueL(attr, *tempTitle);
                     CleanupStack::PopAndDestroy(tempTitle);
                     continue;
@@ -449,7 +456,8 @@
 
 						TPtr formatString = tempTitle->Des();
 
-						// Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+						// Now create a buffer that will contain the result. needs to be 
+						// length of format string plus a few extra for the number
 						HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPaddingMin);
 						TPtr ptr = title->Des();
 
@@ -471,7 +479,8 @@
 
 						TPtr formatString = tempTitle->Des();
 
-						// Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+						// Now create a buffer that will contain the result. needs to be 
+						// length of format string plus a few extra for the number
 						HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPaddingMin);
 						TPtr ptr = title->Des();
 
@@ -565,7 +574,8 @@
                 
                 TPtr formatString = tempTitle->Des();
                 
-                // Now create a buffer that will contain the result. needs to be length of format string plus a few extra for the number
+                // Now create a buffer that will contain the result. needs to be 
+                // length of format string plus a few extra for the number
                 HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPaddingMin);
                 TPtr ptr = title->Des();
                 StringLoader::Format(ptr, formatString, -1, usageCount);
--- a/photosgallery/collectionframework/plugins/tagcollectionplugin/inc/glxcollectionplugintags.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/tagcollectionplugin/inc/glxcollectionplugintags.h	Mon Jun 21 15:40:32 2010 +0300
@@ -69,7 +69,7 @@
 private:
     //From CGlxCollectionPluginBase
 
-    void CpiAttributeAdditionalAttributes(const TMPXAttribute& aCpiAttribute
+    void CpiAttributeAdditionalAttributesL(const TMPXAttribute& aCpiAttribute
     , RArray<TMPXAttribute>& aAttributeArray);     	
 
 
--- a/photosgallery/collectionframework/plugins/tagcollectionplugin/src/glxcollectionplugintags.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/collectionframework/plugins/tagcollectionplugin/src/glxcollectionplugintags.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -90,10 +90,10 @@
 // Add Additional attributes
 // ----------------------------------------------------------------------------
 
-void CGlxCollectionPluginTags::CpiAttributeAdditionalAttributes(
+void CGlxCollectionPluginTags::CpiAttributeAdditionalAttributesL(
 				const TMPXAttribute& aCpiAttribute, RArray<TMPXAttribute>& aAttributeArray)
 	{
-    TRACER("CGlxCollectionPluginTags::CpiAttributeAdditionalAttributes");  
+    TRACER("CGlxCollectionPluginTags::CpiAttributeAdditionalAttributesL");  
     // Only need to process KGlxMediaCollectionPluginSpecificSubTitle here as all
     // the others are reading straight from resource files
     // KGlxMediaCollectionPluginSpecificSubTitle requires a usage count
@@ -116,7 +116,7 @@
 	        
 	    if (!found)
 	        {
-	        aAttributeArray.Append(KMPXMediaGeneralCount);
+	        aAttributeArray.AppendL(KMPXMediaGeneralCount);
 	        }
 	    }
 	}
@@ -126,56 +126,58 @@
 // Modify the response
 // ----------------------------------------------------------------------------
 
-void CGlxCollectionPluginTags::HandleCpiAttributeResponseL(CMPXMedia* aResponse, 
-				TArray<TMPXAttribute> aCpiAttributes, TArray<TGlxMediaId> aMediaIds)
-	{
-    TRACER("CGlxCollectionPluginTags::HandleCpiAttributeResponseL");  
+void CGlxCollectionPluginTags::HandleCpiAttributeResponseL(
+        CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes, TArray<
+                TGlxMediaId> aMediaIds)
+    {
+    TRACER("CGlxCollectionPluginTags::HandleCpiAttributeResponseL");
     const TInt mediaIdCount = aMediaIds.Count();
-    
+
     switch (mediaIdCount)
         {
-    case 0:
+        case 0:
             User::Leave(KErrNotSupported);
             break;
-        
-    case 1:
-            GLX_LOG_INFO("CGlxCollectionPluginTags::HandleCpiAttributeResponseL-MediaID");  
-    	
-            HandleCpiAttributeResponseL(aResponse, aCpiAttributes, aMediaIds[0]);
+
+        case 1:
+            GLX_LOG_INFO("CGlxCollectionPluginTags::HandleCpiAttributeResponseL-MediaID");
+
+            HandleCpiAttributeResponseL(aResponse, aCpiAttributes,
+                    aMediaIds[0]);
             break;
-        
-        
-    default:
+
+        default:
             {
             // We have an array of CMPXMedia items
-            
+
             if (TGlxMediaId(KGlxCollectionRootId) == aMediaIds[0])
                 {
                 User::Leave(KErrNotSupported);
                 }
-                
-            CMPXMediaArray* mediaArray = aResponse->ValueCObjectL<CMPXMediaArray>(KMPXMediaArrayContents);
+
+            CMPXMediaArray* mediaArray = aResponse->ValueCObjectL<
+                    CMPXMediaArray> (KMPXMediaArrayContents);
             CleanupStack::PushL(mediaArray);
 
             const TInt arrayCount = mediaArray->Count();
-            
+
             // Sanity check
-        	if (arrayCount != mediaIdCount)
-        	    {
+            if (arrayCount != mediaIdCount)
+                {
                 User::Leave(KErrArgument);
-        	    }
-        	
+                }
+
             for (TInt index = 0; index < arrayCount; index++)
                 {
-                HandleCpiAttributeResponseL((*mediaArray)[index], aCpiAttributes, 
-                						aMediaIds[index]);
+                HandleCpiAttributeResponseL((*mediaArray)[index],
+                        aCpiAttributes, aMediaIds[index]);
                 }
-            aResponse->SetCObjectValueL(KMPXMediaArrayContents, mediaArray);        
+            aResponse->SetCObjectValueL(KMPXMediaArrayContents, mediaArray);
             CleanupStack::PopAndDestroy(mediaArray);
             }
-        break;
+            break;
         }
-	}
+    }
 	
 	
 // ----------------------------------------------------------------------------
@@ -186,7 +188,8 @@
 			 TArray<TMPXAttribute> aCpiAttributes, TGlxMediaId aMediaId)
     {
     
-    TRACER("CGlxCollectionPluginTags::HandleCpiAttributeResponseL-Enter");  
+    TRACER("CGlxCollectionPluginTags::HandleCpiAttributeResponseL-Enter"); 
+    const TInt KDateBufferPadding = 10; 
 
     const TInt attribCount = aCpiAttributes.Count();
 	
@@ -261,9 +264,10 @@
                     }
                 TPtr formatString = tempTitle->Des();
                 
-                // Now create a buffer that will contain the result. needs to be length 
-                //of format string plus a few extra for the number
-                HBufC* title = HBufC::NewLC(formatString.Length() + 10);
+                // Now create a buffer that will contain the result. 
+                // needs to be length of format string plus a few 
+                // extra for the number
+                HBufC* title = HBufC::NewLC(formatString.Length() + KDateBufferPadding);
                 TPtr ptr = title->Des();
                 StringLoader::Format(ptr, formatString, -1, usageCount);
                 
@@ -329,10 +333,12 @@
 
 TGlxFilterProperties CGlxCollectionPluginTags::DefaultFilter(TInt aLevel)
     {
-    TRACER("CGlxCollectionPluginTags::DefaultFilter"); 
-    __ASSERT_DEBUG(( (aLevel == KGlxCollectionRootLevel) || (aLevel == KGlxCollectionTagLevel) 
-                || (aLevel == KGlxCollectionTagContentsLevel) || (aLevel == KGlxCollectionTagFSContentsLevel)),
-                 Panic(EGlxPanicInvalidPathLevel));
+    TRACER("CGlxCollectionPluginTags::DefaultFilter");
+    __ASSERT_DEBUG(( (aLevel == KGlxCollectionRootLevel) 
+                    || (aLevel == KGlxCollectionTagLevel)
+                    || (aLevel == KGlxCollectionTagContentsLevel) 
+                    || (aLevel == KGlxCollectionTagFSContentsLevel)),
+                    Panic(EGlxPanicInvalidPathLevel));
     TGlxFilterProperties filterProperties;
     filterProperties.iSortDirection = EGlxFilterSortDirectionAscending;
     switch(aLevel)
--- a/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -245,7 +245,6 @@
 
 	// Set the grid to use different layout for landscape mode in fetcher
     iHgGrid->SetToolbarVisibility(EFalse);
-    iHgGrid->SetSelectedIndex(iMediaList->FocusIndex());
     // Setting to MopParent to update background skin
     iHgGrid->SetMopParent(this);
     // Setting Selction observer for getting callback on key event change
@@ -462,7 +461,9 @@
 //  
 void CGlxFetcherContainer::HandleOpenL( TInt aIndex )
     {
-    TRACER("CGlxGridViewImp::HandleOpen()");
+    TRACER("CGlxFetcherContainer::HandleOpenL()");
+    GLX_LOG_INFO1("CGlxFetcherContainer::HandleOpenL(%d)", aIndex);
+    
     // Make sure that the Selection Index is inside medialist count
     if (aIndex <iMediaList->Count() && aIndex >=0)
         {
--- a/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -213,38 +213,42 @@
 //-----------------------------------------------------------------------------
 TBool CGlxFetcherDialog::OkToExitL(TInt aKeycode)
 	{
-	TRACER("CGlxFetcherDialog::OkToExitL");
-	GLX_LOG_INFO1("CGlxFetcherDialog::OkToExitL : %d",aKeycode );
+    TRACER("CGlxFetcherDialog::OkToExitL");
+    GLX_LOG_INFO1("CGlxFetcherDialog::OkToExitL : %d",aKeycode );
     TBool retVal = ETrue;
     TBool retrieveUriValue = EFalse;
-    switch( aKeycode )
+    switch (aKeycode)
         {
-        case EAknSoftkeySelect :
-        case EGlxCmdSelectMarked :
-        case EAknSoftkeyOk :
-        case EAknCmdOpen :
+        case EAknSoftkeySelect:
+        case EGlxCmdSelectMarked:
+        case EAknSoftkeyOk:
+        case EAknCmdOpen:
             {
             // Retreives the uri's of the selected files and verifies if it is a 
             // supported format
             if (!iFetchUri)
                 {
                 iFetchUri = ETrue;
-                retrieveUriValue = iFetcherContainer->RetrieveUrisL(iSelectedFiles, iFetchUri);
-                if ( iVerifier && !iVerifier->VerifySelectionL( &iSelectedFiles ) )
+                retrieveUriValue = iFetcherContainer->RetrieveUrisL(
+                        iSelectedFiles, iFetchUri);
+                if (iVerifier
+                        && !iVerifier->VerifySelectionL(&iSelectedFiles))
                     {
+                    GLX_LOG_INFO("CGlxFetcherDialog::OkToExitL : "
+                            " VerifySelectionL() failed!");
                     iSelectedFiles.Reset();
                     retVal = EFalse;
                     //if the corrupt file is selected then reset the flag to again enable
                     //the selection.
                     iFetcherContainer->SetFileAttached(EFalse);
-                    } 
+                    }
                 if (!retrieveUriValue)
                     {
                     retVal = EFalse;
                     }
                 if (iMultiSelectionEnabled && retVal)
                     {
-                    iFetcherContainer->DoExecuteL(EGlxCmdEndMultipleMarking);    
+                    iFetcherContainer->DoExecuteL(EGlxCmdEndMultipleMarking);
                     }
                 }
             else
@@ -255,8 +259,8 @@
                 }
             break;
             }
-        case EAknSoftkeyCancel : // exit dialog
-        case EAknCmdExit :
+        case EAknSoftkeyCancel: // exit dialog
+        case EAknCmdExit:
             {
             break;
             }
@@ -264,22 +268,24 @@
         case EAknSoftkeyMark:
             {
             if (iMultiSelectionEnabled)
-                {                
-                if(iUiUtility->IsPenSupported())
+                {
+                if (iUiUtility->IsPenSupported())
                     {
                     //Since the MSK is disabled we always get EAknCmdMark
                     //when we select msk hardkey in touch phone, so we need 
                     //to toggle between mark/unmark on the same hardkey event
                     if (!iMarkStarted)
                         {
-                        iFetcherContainer->DoExecuteL(EGlxCmdStartMultipleMarking);
+                        iFetcherContainer->DoExecuteL(
+                                EGlxCmdStartMultipleMarking);
                         iMarkStarted = ETrue;
                         }
                     else
                         {
-                        MGlxMediaList& mediaList = iFetcherContainer->MediaList();
-                        TInt focusIdx = mediaList.FocusIndex();                        
-                        if ( mediaList.IsSelected(focusIdx) )
+                        MGlxMediaList& mediaList =
+                                iFetcherContainer->MediaList();
+                        TInt focusIdx = mediaList.FocusIndex();
+                        if (mediaList.IsSelected(focusIdx))
                             iFetcherContainer->DoExecuteL(EAknCmdUnmark);
                         else
                             iFetcherContainer->DoExecuteL(EAknCmdMark);
@@ -289,7 +295,8 @@
                     {
                     if (!iMarkStarted)
                         {
-                        iFetcherContainer->DoExecuteL(EGlxCmdStartMultipleMarking);
+                        iFetcherContainer->DoExecuteL(
+                                EGlxCmdStartMultipleMarking);
                         iMarkStarted = ETrue;
                         }
                     else
@@ -307,20 +314,21 @@
             if (iMultiSelectionEnabled)
                 {
                 iFetcherContainer->DoExecuteL(EAknCmdUnmark);
-				                
+
                 //@ fix for ELWU-7RA7NX 
                 //@ Reset the flag on no selection, else it'll not pass the events to container for
                 //@ EGlxCmdStartMultipleMarking  case.
-                MGlxMediaList& mediaList = iFetcherContainer->MediaList() ;
-                if ( mediaList.SelectionCount() <= 0 )
-	                {
-	                iMarkStarted = EFalse;	
-	                } 
-					
-                HBufC* mskTextMark = StringLoader::LoadLC( R_GLX_MARKING_MARK );
-                HBufC* rskTextCancel = StringLoader::LoadLC( R_GLX_SOFTKEY_CANCEL );
+                MGlxMediaList& mediaList = iFetcherContainer->MediaList();
+                if (mediaList.SelectionCount() <= 0)
+                    {
+                    iMarkStarted = EFalse;
+                    }
+
+                HBufC* mskTextMark = StringLoader::LoadLC(R_GLX_MARKING_MARK);
+                HBufC* rskTextCancel = StringLoader::LoadLC(
+                        R_GLX_SOFTKEY_CANCEL);
                 iUiUtility->ScreenFurniture()->ModifySoftkeyIdL(
-                        CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
+                        CEikButtonGroupContainer::EMiddleSoftkeyPosition,
                         EAknCmdMark, 0, *mskTextMark);
                 iUiUtility->ScreenFurniture()->ModifySoftkeyIdL(
                         CEikButtonGroupContainer::ERightSoftkeyPosition,
@@ -331,11 +339,13 @@
             retVal = EFalse;
             break;
             }
-        default :
+        default:
             break;
         }
+
+    GLX_LOG_INFO1("CGlxFetcherDialog::OkToExitL : retVal(%d)", retVal);
     return retVal;
-	}
+    }
 
 //-----------------------------------------------------------------------------
 // CGlxFetcherDialog::SizeChanged
@@ -431,7 +441,7 @@
 //-----------------------------------------------------------------------------
 void CGlxFetcherDialog::HandleDoubleTapEventL(TInt aCommandId)
     {
-    TRACER("CGlxFetcherDialog::HandleTapEvent");
+    TRACER("CGlxFetcherDialog::HandleDoubleTapEventL");
     Extension()->iPublicFlags.Set(CEikDialogExtension::EDelayedExit);
     ProcessCommandL(aCommandId);
     Extension()->iPublicFlags.Clear(CEikDialogExtension::EDelayedExit);
--- a/photosgallery/gallery/sis/glxgallery.pkg	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/gallery/sis/glxgallery.pkg	Mon Jun 21 15:40:32 2010 +0300
@@ -97,9 +97,6 @@
 "\epoc32\release\armv5\urel\glxcollectionpluginall.dll"         -"!:\sys\bin\glxcollectionpluginall.dll"
 "\epoc32\data\Z\resource\plugins\glxcollectionpluginall.rsc"    -"!:\resource\plugins\glxcollectionpluginall.rsc"
 "\epoc32\data\Z\resource\plugins\glxpluginall.rsc"  					 -"!:\resource\plugins\glxpluginall.rsc"
-"\epoc32\release\armv5\urel\glxcollectionpluginmonths.dll"         -"!:\sys\bin\glxcollectionpluginmonths.dll"
-"\epoc32\data\Z\resource\plugins\glxcollectionpluginmonths.rsc"    -"!:\resource\plugins\glxcollectionpluginmonths.rsc"
-"\epoc32\data\Z\resource\plugins\glxpluginmonths.rsc"  					 -"!:\resource\plugins\glxpluginmonths.rsc"
 "\epoc32\release\armv5\urel\glxcollectionpluginimageviewer.dll"         -"!:\sys\bin\glxcollectionpluginimageviewer.dll"
 "\epoc32\data\Z\resource\plugins\glxcollectionpluginimageviewer.rsc"    -"!:\resource\plugins\glxcollectionpluginimageviewer.rsc"
 "\epoc32\data\Z\resource\plugins\glxpluginimageviewer.rsc"  					 -"!:\resource\plugins\glxpluginimageviewer.rsc"
--- a/photosgallery/gallery/sis/glxgallery_udeb.pkg	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/gallery/sis/glxgallery_udeb.pkg	Mon Jun 21 15:40:32 2010 +0300
@@ -179,9 +179,6 @@
 "\epoc32\release\armv5\udeb\glxcollectionplugindownloads.dll"         -"!:\sys\bin\glxcollectionplugindownloads.dll"
 "\epoc32\data\Z\resource\plugins\glxcollectionplugindownloads.rsc"    -"!:\resource\plugins\glxcollectionplugindownloads.rsc"
 "\epoc32\data\Z\resource\plugins\glxplugindownloads.rsc"  					 -"!:\resource\plugins\glxplugindownloads.rsc"
-"\epoc32\release\armv5\udeb\glxcollectionpluginmonths.dll"         -"!:\sys\bin\glxcollectionpluginmonths.dll"
-"\epoc32\data\Z\resource\plugins\glxcollectionpluginmonths.rsc"    -"!:\resource\plugins\glxcollectionpluginmonths.rsc"
-"\epoc32\data\Z\resource\plugins\glxpluginmonths.rsc"  					 -"!:\resource\plugins\glxpluginmonths.rsc"
 "\epoc32\release\armv5\udeb\glxcollectionpluginimageviewer.dll"         -"!:\sys\bin\glxcollectionpluginimageviewer.dll"
 "\epoc32\data\Z\resource\plugins\glxcollectionpluginimageviewer.rsc"    -"!:\resource\plugins\glxcollectionpluginimageviewer.rsc"
 "\epoc32\data\Z\resource\plugins\glxpluginimageviewer.rsc"  					 -"!:\resource\plugins\glxpluginimageviewer.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/icons/1click_default_icon_active.svg	Mon Jun 21 15:40:32 2010 +0300
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1" baseProfile="tiny"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="44px" height="44px" viewBox="0 0 44 44" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="44" height="44"/>
+<path fill-opacity="0.4" d="M27.559,18.137l-8.035,4.449l7.602,4.374c0.963-0.593,2.453-1.456,5.094-1.214
+	c4.902,0.457,7.176,4.832,6.741,8.224c-0.546,4.343-4.208,7.077-8.746,6.265c-5.22-0.938-5.79-6.071-5.79-6.071l-9.852-5.358
+	c0,0-1.722,0.887-4.112,0.812c-4.638-0.144-7.033-4.033-6.984-7.504c0.051-3.352,2.585-6.987,6.891-7.081
+	c2.914-0.066,4.16,0.957,4.352,1.101l9.398-5.022c0.142-2.941,3.012-6.671,7.241-6.671c4.954,0,7.704,3.635,7.704,7.437
+	c0,4.019-2.945,7.319-7.176,7.319C29.664,19.19,27.559,18.137,27.559,18.137z M14.432,27.105l11.239,5.763
+	c0,4.089,3.204,5.933,5.739,5.933c3.8,0,5.672-2.648,5.905-5.168c0.263-2.869-2.081-6.21-5.957-6.167
+	c-2.515,0.032-3.729,1.503-3.729,1.503l-10.907-5.734v-1.295l11.146-5.666c0.434,0.429,1.336,1.332,3.874,1.291
+	c2.873-0.047,5.571-2.582,5.571-5.522c0-2.799-2.08-5.858-5.599-5.882c-3.558-0.022-6.097,2.295-6.021,6.242l-11.044,5.664
+	c-0.789-0.656-1.617-1.256-3.91-1.256c-3.875,0-5.983,3.311-5.738,6.17c0.289,3.369,3.168,5.105,5.083,5.152
+	C13.164,28.207,14.432,27.105,14.432,27.105z"/>
+<path fill="#FFFFFF" d="M14.477,27.105l11.243,5.763c0,4.089,3.204,5.933,5.737,5.933c3.799,0,5.672-2.648,5.902-5.168
+	c0.266-2.869-2.078-6.21-5.953-6.167c-2.51,0.032-3.73,1.503-3.73,1.503l-10.902-5.734v-1.295l11.141-5.666
+	c0.431,0.429,1.338,1.332,3.874,1.291c2.872-0.047,5.571-2.582,5.571-5.522c0-2.799-2.078-5.858-5.597-5.882
+	c-3.56-0.022-6.097,2.295-6.024,6.242l-11.043,5.664c-0.788-0.656-1.615-1.256-3.91-1.256c-3.877,0-5.984,3.311-5.739,6.17
+	c0.285,3.369,3.165,5.105,5.083,5.152C13.21,28.207,14.477,27.105,14.477,27.105z"/>
+</svg>
--- a/photosgallery/icons/iconlist.txt	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/icons/iconlist.txt	Mon Jun 21 15:40:32 2010 +0300
@@ -57,3 +57,4 @@
 -c8,8 qgn_graf_ring_wait_08.svg
 -c8,8 qgn_graf_ring_wait_09.svg
 -c8,8 qgn_graf_ring_wait_10.svg
+-c8,8 1click_default_icon_active.svg
--- a/photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -34,20 +34,22 @@
 // -----------------------------------------------------------------------------
 // Constructor.
 // -----------------------------------------------------------------------------
-inline CShwThumbnailContext::CShwThumbnailContext( 
-    TInt aIndex, TSize aSize ) : iSize(aSize), iCurrentIndex( aIndex )
+inline CShwThumbnailContext::CShwThumbnailContext(TInt aIndex, TSize aSize,
+        MGlxMediaList& aList) :
+    iSize(aSize), iCurrentIndex(aIndex), iList(aList)
     {
     }
 
 // -----------------------------------------------------------------------------
 // NewLC.
 // -----------------------------------------------------------------------------
-CShwThumbnailContext* CShwThumbnailContext::NewLC( TInt aIndex, TSize aSize )
+CShwThumbnailContext* CShwThumbnailContext::NewLC(TInt aIndex, TSize aSize,
+        MGlxMediaList& aList)
     {
     TRACER("CShwThumbnailContext::NewLC");
     GLX_LOG_INFO1( "CShwThumbnailContext::NewL, aIndex=%d", aIndex );
     CShwThumbnailContext* self =
-        new (ELeave) CShwThumbnailContext( aIndex, aSize );
+        new (ELeave) CShwThumbnailContext( aIndex, aSize, aList );
     CleanupStack::PushL( self );
     self->ConstructL();
     return self;
@@ -59,7 +61,6 @@
 void CShwThumbnailContext::ConstructL()
     {
     TRACER("CShwThumbnailContext::ConstructL");
-    GLX_LOG_INFO("CShwThumbnailContext::ConstructL");
     // Create the high quality / slower context
     iHighQualityContext = CGlxThumbnailContext::NewL( this );
     // Call both setdefault and add
@@ -76,7 +77,6 @@
 CShwThumbnailContext::~CShwThumbnailContext()
     {
     TRACER("CShwThumbnailContext::~CShwThumbnailContext");
-    GLX_LOG_INFO( "CShwThumbnailContext::~CShwThumbnailContext" );
     delete iHighQualityContext;
     }
 
@@ -86,7 +86,6 @@
 void CShwThumbnailContext::SetToFirst( const MGlxMediaList* /*aList*/ )
     {
     TRACER("CShwThumbnailContext::SetToFirst");
-    GLX_LOG_INFO( "CShwThumbnailContext::SetToFirst" );
     // reset iterator state
     iIterated = EFalse;
     }
@@ -97,19 +96,19 @@
 TInt CShwThumbnailContext::operator++( TInt )
     {
     TRACER("CShwThumbnailContext::operator++");
-    GLX_LOG_INFO( "CShwThumbnailContext::operator++" );
     // we want to load all the thumbnails our clients have requested 
     // notification on, nothing else
     // by default tell the thumbnail that we dont have any interesting indexes
     TInt wantedIndex = KErrNotFound;
-    // check if we were asked already
-    if( !iIterated )
-        {
-        // we want to load thumbnail for the specified index
+    TInt count = iList.Count();
+    // check if we were asked already and guard conditions
+    if( !iIterated && (count > 0) && (iCurrentIndex < count))
+        {        
         wantedIndex = iCurrentIndex;
         iIterated = ETrue;
         }
     // finally return the index that was wanted
+    GLX_LOG_INFO1("CShwThumbnailContext::operator++ wantedIndex %d",wantedIndex);
     return wantedIndex;
     }
 
@@ -119,7 +118,6 @@
 TBool CShwThumbnailContext::InRange( TInt aIndex ) const
     {
     TRACER("CShwThumbnailContext::InRange");
-    GLX_LOG_INFO( "CShwThumbnailContext::InRange" );
     // if we got notifications
     if ( aIndex == iCurrentIndex )
         {
@@ -137,7 +135,6 @@
 TInt CShwThumbnailContext::RequestCountL(const MGlxMediaList* aList) const
     {
     TRACER("CShwThumbnailContext::RequestCountL");
-    GLX_LOG_INFO( "CShwThumbnailContext::RequestCountL" );
     return iHighQualityContext->RequestCountL( aList );
     }
 
@@ -157,6 +154,5 @@
 MGlxFetchContext* CShwThumbnailContext::Context()
 	{
 	TRACER("CShwThumbnailContext::Context");
-	GLX_LOG_INFO( "CShwThumbnailContext::Context" );
 	return iHighQualityContext;
 	}
--- a/photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.h	Mon Jun 21 15:40:32 2010 +0300
@@ -45,8 +45,10 @@
 		 * Constructor.
            * @param aIndex, the medialist index for the thumbnail to load
            * @param aSize, the size for the thumbnail
+           * @param aList, the medialist being traversed
 		 */
-		static CShwThumbnailContext* NewLC( TInt aIndex, TSize aSize );
+		static CShwThumbnailContext* NewLC( TInt aIndex, TSize aSize,
+				MGlxMediaList& aList );
 
 		/**
 		 * Destructor.
@@ -84,7 +86,7 @@
         /**
          * C++ constructor.
          */
-        CShwThumbnailContext( TInt aIndex, TSize aSize );
+        CShwThumbnailContext( TInt aIndex, TSize aSize, MGlxMediaList& aList);
 
         /**
          * 2nd stage constructor
@@ -101,6 +103,8 @@
         TSize iSize;
         /// Own: the currrent focus item
         TInt iCurrentIndex;
+        /// Ref: The medialist being traversed
+        MGlxMediaList& iList;
 
 	};
 
--- a/photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -194,7 +194,6 @@
 	MGlxMediaList& aMedialist, MShwThumbnailLoadObserver& aErrorHandler )
 	{
 	TRACER("CShwThumbnailLoader::NewLs");
-	GLX_LOG_INFO( "CShwThumbnailLoader::NewL" );
 	CShwThumbnailLoader* self = new( ELeave ) CShwThumbnailLoader;
 	CleanupStack::PushL( self );
 
@@ -205,7 +204,6 @@
 	// call 2nd phase
 	self->iImpl->ConstructL();
 // << 2nd phase
-
 	// pop the stack
 	CleanupStack::Pop( self );
 	return self;
@@ -217,7 +215,6 @@
 CShwThumbnailLoader::~CShwThumbnailLoader()
 	{
 	TRACER("CShwThumbnailLoader::~CShwThumbnailLoader");
-	GLX_LOG_INFO( "CShwThumbnailLoader::~CShwThumbnailLoader" );
 	delete iImpl;
 	}
 
@@ -227,7 +224,6 @@
 void CShwThumbnailLoader::LoadAndNotifyL( TInt aIndex, TSize aSize )
 	{
 	TRACER("CShwThumbnailLoader::LoadAndNotifyL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::LoadAndNotifyL" );
 	// forward
 	iImpl->LoadAndNotifyL( aIndex, aSize );
 	}
@@ -238,7 +234,6 @@
 void CShwThumbnailLoader::Unload( TInt aIndex )
 	{
 	TRACER("CShwThumbnailLoader::Unload");
-	GLX_LOG_INFO( "CShwThumbnailLoader::Unload" );
 	// forward
 	iImpl->Unload( aIndex );
 	}
@@ -249,7 +244,6 @@
 TSize CShwThumbnailLoader::ImageSizeL( TInt aIndex )
 	{
 	TRACER("CShwThumbnailLoader::ImageSizeL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::ImageSizeL" );
 	// forward
 	return iImpl->ImageSizeL( aIndex );
 	}
@@ -271,7 +265,6 @@
 inline CShwThumbnailLoader::CShwThumbnailLoaderImpl::~CShwThumbnailLoaderImpl()
     {
     TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::~CShwThumbnailLoaderImpl()");
-    GLX_LOG_INFO( "CShwThumbnailLoaderImpl::~CShwThumbnailLoaderImpl" );
     // delete asynch callbacks, delete also cancels them
     delete iCompletedCallBack;
     delete iErrorCallBack;
@@ -310,7 +303,6 @@
 inline void CShwThumbnailLoader::CShwThumbnailLoaderImpl::ConstructL()
     {
     TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::ConstructL");
-    GLX_LOG_INFO( "CShwThumbnailLoader::CShwThumbnailLoaderImpl::ConstructL" );
     // retrieve the size of images with own context
     AddSizeContextL();
 
@@ -390,7 +382,7 @@
 	if( !context )
 		{
 		// create new context for the index with the given size
-		context = CShwThumbnailContext::NewLC( aIndex, aSize );
+		context = CShwThumbnailContext::NewLC( aIndex, aSize, iMedialist );
 		iHighQualityContexts.AppendL( context );
 		CleanupStack::Pop( context );
 		// add the context to the medialist with priority
@@ -481,7 +473,6 @@
 	TInt /*aStartIndex*/, TInt /*aEndIndex*/, MGlxMediaList* /*aList*/ )
 	{
 	TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::HandleItemRemovedL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::CShwThumbnailLoaderImpl::HandleItemRemovedL" );
 	// check if we still got some items to show
 	if( iMedialist.Count() < 1 )
 	    {
@@ -506,7 +497,6 @@
 	MGlxMediaList* /*aList*/ )
 	{
 	TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::HandleAttributesAvailableL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::CShwThumbnailLoaderImpl::HandleAttributesAvailableL" );
 	//done to verify context availability
 	TInt attributeCount = aAttributes.Count();
 	for(TInt i = 0; i < attributeCount; i++ )
@@ -680,7 +670,6 @@
 inline void CShwThumbnailLoader::CShwThumbnailLoaderImpl::AddSizeContextL()
 	{
 	TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::AddSizeContextL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::FindContext ");
 	// Create the fetch context to retrieve the attribute
 	iSizeContext = CGlxDefaultAttributeContext::NewL();
     // Set the range offsets relative to the focus item
@@ -756,7 +745,6 @@
 inline TInt CShwThumbnailLoader::CShwThumbnailLoaderImpl::CompletedNotifyL()
     {
     TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::CompletedNotifyL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::CompletedNotifyL" );
     // then we need to also remove all notifications for the given index
     TInt count = iCompletedIndexes.Count();
     while( count-- > 0 )
@@ -779,7 +767,6 @@
 inline TInt CShwThumbnailLoader::CShwThumbnailLoaderImpl::ErrorNotifyL()
     {
     TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::ErrorNotifyL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::ErrorNotifyL" );
     // then we need to also remove all notifications for the given index
     TInt count = iErrorIndexes.Count();
     while( count-- > 0 )
@@ -805,7 +792,6 @@
 inline TInt CShwThumbnailLoader::CShwThumbnailLoaderImpl::AsyncErrorHandleL()
     {
     TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::AsyncErrorHandleL");
-	GLX_LOG_INFO( "CShwThumbnailLoader::AsyncErrorHandleL" );
     // handle the error
 	DoHandleErrorL();
     // need to return value to please TCallBack API
--- a/photosgallery/slideshow/engine/tsrc/t_cshweffectcontrol/t_cshweffectcontrol.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/engine/tsrc/t_cshweffectcontrol/t_cshweffectcontrol.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -585,16 +585,17 @@
 
 void T_CShwEffectControl::TestThumbnailLoadingL()
 	{
-	// create shw thumbnail context for index 1 and size 100,100
-	const TInt thumbIndex = 1;
-	CShwThumbnailContext* context = CShwThumbnailContext::NewLC( thumbIndex, TSize( 100, 100 ) );
+    // create shw thumbnail context for index 1 and size 100,100
+    const TInt thumbIndex = 1;
+    CShwThumbnailContext* context = CShwThumbnailContext::NewLC(thumbIndex,
+            TSize(100, 100), iStubMediaList);
 
     // test that the index is returned
     // set iterator to first
-    context->SetToFirst( iStubMediaList );
+    context->SetToFirst(iStubMediaList);
     // then iterate once
     TInt index = (*context)++;
-    EUNIT_ASSERT_EQUALS_DESC( thumbIndex, index, "check first iterated index" );
+    EUNIT_ASSERT_EQUALS_DESC(thumbIndex, index, "check first iterated index");
 
     index = (*context)++;
     EUNIT_ASSERT_EQUALS_DESC( KErrNotFound, index, "next index is KErrNotFound" );
@@ -604,8 +605,8 @@
     EUNIT_ASSERT_DESC( !context->InRange( thumbIndex+1 ), "thumbIndex+1 is not in range" );
     EUNIT_ASSERT_DESC( context->InRange( thumbIndex ), "thumbIndex is in range" );
 
-    CleanupStack::PopAndDestroy( context );
-	}
+    CleanupStack::PopAndDestroy(context);
+    }
 
 void T_CShwEffectControl::TestErrorsInThumbnailLoadingL()
 	{
--- a/photosgallery/slideshow/view/inc/shwgesturecontrol.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/view/inc/shwgesturecontrol.h	Mon Jun 21 15:40:32 2010 +0300
@@ -74,11 +74,11 @@
     ~CShwGestureControl();
     
     /**
-     * AddObserver
+     * AddObserverL
      * Add an Observer 
      * @param aObserver, Observer to be added. 
      */ 
-    void AddObserver(MShwGestureObserver* aObserver); 
+    void AddObserverL(MShwGestureObserver* aObserver); 
 
     /**
      * RemoveObserver
--- a/photosgallery/slideshow/view/src/shwgesturecontrol.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/view/src/shwgesturecontrol.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -79,20 +79,20 @@
     }
 
 // -----------------------------------------------------------------------------
-// AddObserver
+// AddObserverL
 // -----------------------------------------------------------------------------
 //
-void CShwGestureControl::AddObserver(MShwGestureObserver* aObserver) 
+void CShwGestureControl::AddObserverL(MShwGestureObserver* aObserver) 
     {
-    TRACER("CShwGestureControl::AddObserver");
-    GLX_LOG_INFO("CShwGestureControl::AddObserver");
+    TRACER("CShwGestureControl::AddObserverL");
+    GLX_LOG_INFO("CShwGestureControl::AddObserverL");
     __ASSERT_DEBUG( NULL != aObserver , Panic(EGlxPanicNullPointer)); 
     
     // dont want to observe the same thing again and again.
     if (iObservers.Find(aObserver) == KErrNotFound)
         {
-        iObservers.Append(aObserver);
-        GLX_LOG_INFO1("CShwGestureControl::AddObserver  Observer Added "
+        iObservers.AppendL(aObserver);
+        GLX_LOG_INFO1("CShwGestureControl::AddObserverL  Observer Added "
                 "observer count now [%d]", iObservers.Count());
         }
     }
@@ -109,7 +109,7 @@
     if (observerPosition != KErrNotFound)
         {
         iObservers.Remove(observerPosition);
-        GLX_LOG_INFO1("CShwGestureControl::AddObserver  One Observer removed "
+        GLX_LOG_INFO1("CShwGestureControl::RemoveObserver  One Observer removed "
                 "observer count now [%d]", iObservers.Count());
         }
     }
--- a/photosgallery/slideshow/view/src/shwslideshowview.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/slideshow/view/src/shwslideshowview.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -506,7 +506,7 @@
     iUiUtility->Display()->SetVisibleArea(TRect(TPoint(0,0),AlfUtil::ScreenSize()));
 	// We will require to act on events ONLY when the view is active.
 	// So listen to them only when the view is active.
-    iShwGestureControl->AddObserver(this);    
+    iShwGestureControl->AddObserverL(this);    
     }
 
 // -----------------------------------------------------------------------------
--- a/photosgallery/viewframework/commandhandlers/commandhandlermarking/src/glxcommandhandlermarking.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commandhandlermarking/src/glxcommandhandlermarking.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -490,10 +490,12 @@
 void CGlxCommandHandlerMarking::HandleItemAddedL(TInt /*aStartIndex*/, 
                                     TInt /*aEndIndex*/, MGlxMediaList* aList)
     {
-    if (aList->Count() > 0 && iUiUtility->GetGridToolBar())
+    TRACER("CGlxCommandHandlerMarking::HandleItemAddedL");
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (aList->Count() > 0 && toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(
-                EGlxCmdStartMultipleMarking, EFalse, ETrue);
+        toolbar->SetItemDimmed(EGlxCmdStartMultipleMarking, EFalse, ETrue);
         }
     }
     
@@ -513,10 +515,12 @@
 void CGlxCommandHandlerMarking::HandleItemRemovedL(TInt /*aStartIndex*/, 
                                     TInt /*aEndIndex*/, MGlxMediaList* aList)
     {
-    if (aList->Count() == 0 && iUiUtility->GetGridToolBar())
+    TRACER("CGlxCommandHandlerMarking::HandleItemRemovedL");
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (aList->Count() == 0 && toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(
-                EGlxCmdStartMultipleMarking, ETrue, ETrue);
+        toolbar->SetItemDimmed(EGlxCmdStartMultipleMarking, ETrue, ETrue);
         }
     }
 
@@ -538,31 +542,31 @@
 	
 	if(!iUiUtility->IsPenSupported())
 		{
-	    if( aItemIndex == aList->FocusIndex() && iMultipleMarking)
-	        {
-	        if(aList->Item(aItemIndex).IsStatic())
-	            {
-	            iScreenFurniture->ModifySoftkeyIdL(
-	                    CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-	                    EAknSoftkeyEmpty, 0, KGlxBlankString);    
-	            }
-	        else
-	            {
-	            if (aList->IsSelected(aItemIndex))
-	                {
-	                iScreenFurniture->ModifySoftkeyIdL(
-	                        CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-	                        EAknCmdUnmark, 0, *iMskTextUnMark);    
-	                }
-	            else
-	                {
-	                iScreenFurniture->ModifySoftkeyIdL(
-	                        CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-	                            EAknCmdMark, 0, *iMskTextMark);    
-	                }
-	            	}
-	        	}
+		if (aItemIndex == aList->FocusIndex() && iMultipleMarking)
+			{
+			if (aList->Item(aItemIndex).IsStatic())
+				{
+				iScreenFurniture->ModifySoftkeyIdL(
+						CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+						EAknSoftkeyEmpty, 0, KGlxBlankString);
+				}
+			else
+				{
+				if (aList->IsSelected(aItemIndex))
+					{
+					iScreenFurniture->ModifySoftkeyIdL(
+							CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+							EAknCmdUnmark, 0, *iMskTextUnMark);
+					}
+				else
+					{
+					iScreenFurniture->ModifySoftkeyIdL(
+							CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+							EAknCmdMark, 0, *iMskTextMark);
+					}
+				}
 			}
+		}
     }
 
 // ---------------------------------------------------------------------------
@@ -604,7 +608,6 @@
                 if( aOldIndex < aNewIndex )
                     {
                     endIdx += count;  
-
                     }          
                 }
                 break;
@@ -682,16 +685,15 @@
     correspond to the marked state of the focussed item. If the item is 
     marked the softkey is changed to "Unmark" and vice versa.
     */
-    
-	if(!iUiUtility->IsPenSupported())
+    if (!iUiUtility->IsPenSupported())
 		{
-    	if( aIndex == aList->FocusIndex() )
-        	{
-        	// Update MSK
-        	iScreenFurniture->ModifySoftkeyIdL(
-                CEikButtonGroupContainer::EMiddleSoftkeyPosition, EAknCmdUnmark, 0, *iMskTextUnMark);    
-
-        	} 
+		if (aIndex == aList->FocusIndex())
+			{
+			// Update MSK
+			iScreenFurniture->ModifySoftkeyIdL(
+					CEikButtonGroupContainer::EMiddleSoftkeyPosition,
+					EAknCmdUnmark, 0, *iMskTextUnMark);
+			}
 		}
     }
 
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/group/glxcommoncommandhandlers.mmp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/group/glxcommoncommandhandlers.mmp	Mon Jun 21 15:40:32 2010 +0300
@@ -147,4 +147,6 @@
 LIBRARY         glximageviewermanager.lib
 LIBRARY         mpxplaybackutility.lib    // MPX playback utility
 LIBRARY         thumbnailmanager.lib
+LIBRARY         svgengine.lib
+LIBRARY         gdi.lib
 // End of File
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraddtocontainer.h	Mon Jun 21 15:40:32 2010 +0300
@@ -130,6 +130,9 @@
 
 	// Target containers selection count
 	static TInt iSelectionCount;
+	
+	// Media items selection count
+	mutable TInt iItemsSelectionCount;
 
 	// Popup Completion Status Flag
 	mutable TBool iIsProcessOngoing;
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerupload.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerupload.h	Mon Jun 21 15:40:32 2010 +0300
@@ -22,8 +22,6 @@
 //  EXTERNAL INCLUDES
 #include "AiwServiceHandler.h"                  // AIW service handler
 #include <centralrepository.h>              // for checking the ShareOnline version
-#include <thumbnailmanager.h>
-#include <thumbnailmanagerobserver.h>
 
 //  INTERNAL INCLUDES
 #include "glxmedialistcommandhandler.h"         // for MediaListCommandHandler
@@ -33,6 +31,7 @@
 class MGlxMediaListProvider;
 class CGlxDefaultAttributeContext;
 class CGlxUploadCenRepWatcher;
+class CSvgEngineInterfaceImpl;
 
 // For upload icon change notification
 class MGlxUploadIconObserver
@@ -53,7 +52,7 @@
 // CLASS DECLARATION
 
 NONSHARABLE_CLASS (CGlxCommandHandlerUpload) : public CGlxMediaListCommandHandler,
-public MGlxMediaListObserver, public MThumbnailManagerObserver, public MGlxUploadIconObserver
+public MGlxMediaListObserver, public MGlxUploadIconObserver
 	{
 public:  // Constructors and destructor
 	/**
@@ -144,13 +143,6 @@
 	* Called when the owning view is deactivated
 	*/
 	void Deactivate();	
-	
-private: // From MThumbnailManagerObserver
-
-    void ThumbnailPreviewReady( MThumbnailData& aThumbnail,
-        TThumbnailRequestId aId );
-    void ThumbnailReady( TInt aError, MThumbnailData& aThumbnail,
-        TThumbnailRequestId aId );	
 
 private:
 	/**
@@ -195,21 +187,15 @@
 	void GetIconNameL(TDes& aUplaodIconName);
 
 	/**
-	 * Decodes the Icon using the TNM Manager
+	 * Decodes the Icon using the SVG Engine
 	 */	
-	void DecodeIconL(const TDes& aUplaodIconNmae);
+	void DecodeIconL(const TDes& aUplaodIconName);
 
 
 	/**
 	 * Updates the Toolbar upload icon based on the current selection
 	 */	
 	void UpdateFSUploadIconL();
-    
-	
-	/**
-     * Sets the decoded upload icon to the toolbar item
-     */	
-	void SetDecodedUploadIconL(MThumbnailData& aThumbnail);
 	
 private: // data
 
@@ -231,8 +217,6 @@
     // Owned - AIW Service Handler
     CAiwServiceHandler* iServiceHandler;
     
-    CThumbnailManager* iTnEngine; // Own
-    
     //Keep the count of no. of images/videos selected
     TInt iSelectedImageCount;
     TInt iSelectedVideoCount;
@@ -250,11 +234,11 @@
     
 	//Toolbar instance of current view
     CAknToolbar* iToolbar;
-    
-    TThumbnailRequestId iTnmRequestID;
 
     //To check if we are in fullscreen
     TBool iIsFullScreenView;
+    
+    CSvgEngineInterfaceImpl* iSvgEngine;
 	};
 
 #endif //__GLXCOMMANDHANDLERUPLOAD_H__
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraddtocontainer.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -176,6 +176,7 @@
 	    return NULL;
 	    }
     iSelectionCount = 0;
+    iItemsSelectionCount = 0;
 	// Set the Flag inorder to block any new subsequent selection pop-ups from getting created.
 	iIsProcessOngoing = ETrue;
     CMPXCollectionPath* targetCollection = CMPXCollectionPath::NewL();
@@ -226,6 +227,7 @@
             // Set the container selection count to give correct completion text
             TArray<TInt> selection = targetContainers->Selection();
             iSelectionCount = selection.Count();
+            iItemsSelectionCount = sourceItems->Count();
             
             CleanupStack::PushL(targetContainers);
             command = TGlxCommandFactory::AddToContainerCommandLC(
@@ -263,7 +265,7 @@
     TRACER("CGlxCommandHandlerAddToContainer::CompletionTextL()");
     if (iCommandId == EGlxCmdAddToAlbum)
     	{
-   		if (iSelectionCount > 1)
+   		if (iItemsSelectionCount > 1)
    			{
 	   		return StringLoader::LoadL(R_GLX_COMPLETION_ADD_TO_CONTAINER_MULTI_ITEM_ALBUM);
    			}
@@ -334,7 +336,7 @@
 // ---------------------------------------------------------------------------
 //
 TBool CGlxCommandHandlerAddToContainer::DoIsDisabled(TInt aCommandId, 
-                                                 MGlxMediaList& aList) const
+                                                 MGlxMediaList& /*aList*/) const
     {
 	TRACER("CGlxCommandHandlerAddToContainer::DoIsDisabled");
 	if (EGlxCmdAddToAlbum==aCommandId || EGlxCmdAddTag == aCommandId)
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlernewmedia.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -276,14 +276,16 @@
     return iSchedulerWait != NULL;
     }
     
+
 // ---------------------------------------------------------------------------
 // TitlesL fetches the 'media popup title' and 'default new media item title'
 // from the collection.
 // ---------------------------------------------------------------------------
 //
 
-void CGlxCommandHandlerNewMedia::TitlesL(const TGlxMediaId aCollectionId, TDes& aDefaultNewMediaItemTitle) const
-	{
+void CGlxCommandHandlerNewMedia::TitlesL(const TGlxMediaId aCollectionId,
+        TDes& aDefaultNewMediaItemTitle) const
+    {
     TRACER("CGlxCommandHandlerNewMedia::TitlesL");
     CMPXCollectionPath* path = CMPXCollectionPath::NewL();
     CleanupStack::PushL(path);
@@ -291,104 +293,114 @@
     CleanupClosePushL(*rootList);
 
     TGlxSpecificIdIterator iter(KGlxIdSpaceIdRoot, aCollectionId);
-    CGlxAttributeContext* attributeContext = new (ELeave) CGlxAttributeContext(&iter);
+    CGlxAttributeContext* attributeContext =
+            new (ELeave) CGlxAttributeContext(&iter);
     CleanupStack::PushL(attributeContext);
-    attributeContext->AddAttributeL(KGlxMediaCollectionPluginSpecificDefaultMediaTitle);
+    attributeContext->AddAttributeL(
+            KGlxMediaCollectionPluginSpecificDefaultMediaTitle);
     rootList->AddContextL(attributeContext, KGlxFetchContextPriorityBlocking);
-    
+
     TGlxFetchContextRemover contextRemover(attributeContext, *rootList);
     // put to cleanupstack as cleanupstack is emptied before stack objects
     // are deleted
-    CleanupClosePushL( contextRemover );
-    User::LeaveIfError(GlxAttributeRetriever::RetrieveL(*attributeContext, *rootList, ETrue));
+    CleanupClosePushL(contextRemover);
+    User::LeaveIfError(GlxAttributeRetriever::RetrieveL(*attributeContext,
+            *rootList, ETrue));
     // context off the list
-    CleanupStack::PopAndDestroy( &contextRemover );
-    	
-        TInt index =  rootList->Index(KGlxIdSpaceIdRoot, aCollectionId);
-        
-        __ASSERT_DEBUG(index != KErrNotFound, Panic(EGlxPanicRequiredItemNotFound));
-        
-    	TGlxMedia  item =  rootList->Item(index);
-    	
-    	const CGlxMedia* media = item.Properties();
-    	if (media)
-    		{
-    		aDefaultNewMediaItemTitle.Copy(media->ValueText(KGlxMediaCollectionPluginSpecificDefaultMediaTitle).Left(KMaxMediaPopupTitleLength));
-    		}
+    CleanupStack::PopAndDestroy(&contextRemover);
+
+    TInt index = rootList->Index(KGlxIdSpaceIdRoot, aCollectionId);
+
+    __ASSERT_DEBUG(index != KErrNotFound, Panic(EGlxPanicRequiredItemNotFound));
+
+    TGlxMedia item = rootList->Item(index);
 
-	CleanupStack::PopAndDestroy(attributeContext);
-	CleanupStack::PopAndDestroy(rootList);
+    const CGlxMedia* media = item.Properties();
+    if (media)
+        {
+        aDefaultNewMediaItemTitle.Copy(media->ValueText(
+                KGlxMediaCollectionPluginSpecificDefaultMediaTitle).Left(
+                KMaxMediaPopupTitleLength));
+        }
+
+    CleanupStack::PopAndDestroy(attributeContext);
+    CleanupStack::PopAndDestroy(rootList);
     CleanupStack::PopAndDestroy(path);
-	}
+    }
 
 // ---------------------------------------------------------------------------
 // TitlesL fetches the 'media popup title' and 'default new media item title'
 // from the collection.
 // ---------------------------------------------------------------------------
 //
-HBufC* CGlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL
-                                   (const TDesC& aDefaultNewMediaItemTitle, MGlxMediaList& aList) const
-    {        
+HBufC* CGlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(
+        const TDesC& aDefaultNewMediaItemTitle, MGlxMediaList& aList) const
+    {
     TRACER("CGlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL");
     TGlxSequentialIterator iter;
-    CGlxAttributeContext* attributeContext = new (ELeave) CGlxAttributeContext(&iter);
+    CGlxAttributeContext* attributeContext =
+            new (ELeave) CGlxAttributeContext(&iter);
     CleanupStack::PushL(attributeContext);
     attributeContext->AddAttributeL(KMPXMediaGeneralTitle);
     aList.AddContextL(attributeContext, KGlxFetchContextPriorityBlocking);
     TGlxFetchContextRemover contextRemover(attributeContext, aList);
     // put to cleanupstack as cleanupstack is emptied before stack objects
     // are deleted
-    CleanupClosePushL( contextRemover );
-    User::LeaveIfError(GlxAttributeRetriever::RetrieveL(*attributeContext, aList, EFalse));
+    CleanupClosePushL(contextRemover);
+    User::LeaveIfError(GlxAttributeRetriever::RetrieveL(*attributeContext,
+            aList, EFalse));
     // context off the list
-    CleanupStack::PopAndDestroy( &contextRemover );
+    CleanupStack::PopAndDestroy(&contextRemover);
     CleanupStack::PopAndDestroy(attributeContext);
-    
+
     RArray<TInt> numbers;
     CleanupClosePushL(numbers);
-    
+
     TInt count = aList.Count();
     for (TInt i = 0; i < count; i++)
         {
-        TGlxMedia  item =  aList.Item(i);    
+        TGlxMedia item = aList.Item(i);
         const CGlxMedia* media = item.Properties();
         if (media)
             {
             const TDesC& title = media->ValueText(KMPXMediaGeneralTitle);
-            
+
             TInt length = aDefaultNewMediaItemTitle.Length();
             if (title.Left(length).Compare(aDefaultNewMediaItemTitle) == 0)
                 {
                 if (length == title.Length())
                     {
-                    numbers.InsertInOrder(0); // special case
+                    numbers.InsertInOrderL(0); // special case
                     }
-                else if(title.Length() > length + KOpenBracket().Length() + KCloseBracket().Length())
+                else if (title.Length() > length + KOpenBracket().Length()
+                        + KCloseBracket().Length())
                     {
                     TInt pos = length;
                     length = KOpenBracket().Length();
-                    
-                    if (title.Mid(pos, length).Compare(KOpenBracket) == 0 && 
-                        title.Right(KCloseBracket().Length()).Compare(KCloseBracket) == 0)
+
+                    if (title.Mid(pos, length).Compare(KOpenBracket) == 0
+                            && title.Right(KCloseBracket().Length()).Compare(
+                                    KCloseBracket) == 0)
                         {
                         pos += length;
-                        length = title.Length() - pos - KCloseBracket().Length();
+                        length = title.Length() - pos
+                                - KCloseBracket().Length();
                         if (length > 0)
                             {
                             TLex lex = title.Mid(pos, length);
                             TInt val = 0;
                             if (lex.Val(val) == KErrNone)
                                 {
-                                numbers.InsertInOrder(val);
+                                numbers.InsertInOrderL(val);
                                 }
                             }
                         }
                     }
-               
+
                 }
             }
         }
-    
+
     TInt nextNumber = 0;
     count = numbers.Count();
     for (TInt i = 0; i < count; i++)
@@ -402,25 +414,30 @@
             break;
             }
         }
-    
+
     CleanupStack::PopAndDestroy(&numbers);
-    
-    TInt defaultTitleLength = aDefaultNewMediaItemTitle.Length() + KFileNameFormatString().Length() + KCloseBracket().Length() + KMaxNumberLength;
-    // If the default title length is bigger than KMaxMediaPopupTitleLength, make sure we allocate enough space for it.
-    TInt titleLength  = defaultTitleLength > KMaxMediaPopupTitleLength ? defaultTitleLength : KMaxMediaPopupTitleLength;
+
+    TInt defaultTitleLength = aDefaultNewMediaItemTitle.Length()
+            + KFileNameFormatString().Length() + KCloseBracket().Length()
+            + KMaxNumberLength;
+    // If the default title length is bigger than KMaxMediaPopupTitleLength, 
+    // make sure we allocate enough space for it.
+    TInt titleLength = defaultTitleLength > KMaxMediaPopupTitleLength ? 
+                                            defaultTitleLength
+                                            : KMaxMediaPopupTitleLength;
     HBufC* newMediaItemTitle = HBufC::NewL(titleLength);
     TPtr newMediaItemTitleDes = newMediaItemTitle->Des();
     newMediaItemTitleDes.Append(aDefaultNewMediaItemTitle);
-    
+
     if (nextNumber > 0)
         {
-        newMediaItemTitleDes.AppendFormat(KFileNameFormatString,nextNumber);
+        newMediaItemTitleDes.AppendFormat(KFileNameFormatString, nextNumber);
         }
     else
         {
         // 0 is a special case, return "New Media", not "New Media (0)"
         }
-    
+
     return newMediaItemTitle;
     }
 
@@ -440,16 +457,18 @@
 // HandleItemAddedL
 // -----------------------------------------------------------------------------
 //  
-EXPORT_C void CGlxCommandHandlerNewMedia::HandleItemAddedL(TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList)
+EXPORT_C void CGlxCommandHandlerNewMedia::HandleItemAddedL(TInt aStartIndex,
+        TInt aEndIndex, MGlxMediaList* aList)
     {
     TRACER("CGlxCommandHandlerNewMedia::HandleItemAddedL");
-    if(aList == &MediaList() && iNewMediaId != KGlxCollectionRootId)
+    if (aList == &MediaList() && iNewMediaId != KGlxCollectionRootId)
         {
         for (TInt i = aStartIndex; i <= aEndIndex; i++)
             {
             if (aList->Item(i).Id() == iNewMediaId)
                 {
-                iAsyncFocuser->SetFocus(i); // calls CGlxCommandHandlerNewMedia::SetFocusL asynchronously
+                // calls CGlxCommandHandlerNewMedia::SetFocusL asynchronously
+                iAsyncFocuser->SetFocus(i);
                 break;
                 }
             }
@@ -463,9 +482,9 @@
 CGlxCommandHandlerNewMedia::CGlxAsyncFocuser::
     CGlxAsyncFocuser(CGlxCommandHandlerNewMedia* aGlxCommandHandlerNewMedia)
     : CActive(KMaxTInt), iGlxCommandHandlerNewMedia(aGlxCommandHandlerNewMedia)
-    // The active object has the maximum possible priority to prevent other active objects
-    // running before it. (Unless they too are scheduled to run and have the maximum
-    // possible priority
+    // The active object has the maximum possible priority to prevent 
+    // other active objects running before it. (Unless they too are 
+    // scheduled to run and have the maximum possible priority
     {
     TRACER("CGlxCommandHandlerNewMedia::CGlxAsyncFocuser::CGlxAsyncFocuser");
     __ASSERT_DEBUG(aGlxCommandHandlerNewMedia, Panic(EGlxPanicNullPointer));
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlersend.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -418,14 +418,16 @@
         TBool /*aSelected*/, MGlxMediaList* aList)
     {
     GLX_FUNC("CGlxCommandHandlerSend::HandleItemSelectedL");
-    if (aList->SelectionCount() > 0 && iUiUtility->GetGridToolBar())
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(EGlxCmdSend, EFalse,
-                ETrue);
-        }
-    else
-        {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(EGlxCmdSend, ETrue, ETrue);
+        TBool dimmed = ETrue;
+        if (aList->SelectionCount() > 0)
+            {
+            dimmed = EFalse;
+            }
+        toolbar->SetItemDimmed(EGlxCmdSend, dimmed, ETrue);
         }
     }
 
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -341,10 +341,11 @@
                 TInt /*aNewIndex*/, TInt /*aOldIndex*/, MGlxMediaList* aList)
     {
     TRACER("CGlxCommandHandlerSlideshow::HandleFocusChangedL");
-    if (aList->Count() <= 0 && iUiUtility->GetGridToolBar())
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (aList->Count() <= 0 && toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(
-                EGlxCmdStartMultipleMarking, ETrue, ETrue);
+        toolbar->SetItemDimmed(EGlxCmdSlideshowPlay, ETrue, ETrue);
         }
     }
 
@@ -355,10 +356,12 @@
 void CGlxCommandHandlerSlideshow::HandleItemAddedL(TInt /*aStartIndex*/,
             TInt /*aEndIndex*/, MGlxMediaList* aList)
     {
-    if (aList->Count() > 0 && iUiUtility->GetGridToolBar())
+    TRACER("CGlxCommandHandlerSlideshow::HandleItemAddedL");
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (aList->Count() > 0 && toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(EGlxCmdSlideshowPlay,
-                EFalse, ETrue);
+        toolbar->SetItemDimmed(EGlxCmdSlideshowPlay, EFalse, ETrue);
         }
     }
 
@@ -378,10 +381,12 @@
 void CGlxCommandHandlerSlideshow::HandleItemRemovedL(TInt /*aStartIndex*/,
             TInt /*aEndIndex*/, MGlxMediaList* aList)
     {
-    if (aList->Count() <= 0 && iUiUtility->GetGridToolBar())
+    TRACER("CGlxCommandHandlerSlideshow::HandleItemRemovedL");
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (aList->Count() <= 0 && toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(EGlxCmdSlideshowPlay,
-                ETrue, ETrue);
+        toolbar->SetItemDimmed(EGlxCmdSlideshowPlay, ETrue, ETrue);
         }
     }
 
@@ -529,10 +534,11 @@
 void CGlxCommandHandlerSlideshow::HandlePopulatedL( MGlxMediaList* aList )
     {
     TRACER("CGlxCommandHandlerSlideshow::HandlePopulatedL()");
-    if (aList->Count() == 0 && iUiUtility->GetGridToolBar())
+    // Check if toolbar is available.
+    CAknToolbar* toolbar = iUiUtility->GetGridToolBar();
+    if (aList->Count() == 0 && toolbar)
         {
-        iUiUtility->GetGridToolBar()->SetItemDimmed(
-                EGlxCmdSlideshowPlay, ETrue, ETrue);
+        toolbar->SetItemDimmed(EGlxCmdSlideshowPlay, ETrue, ETrue);
         }
     }
 
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerupload.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerupload.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -15,6 +15,10 @@
 *
 */
 
+#include <eikenv.h>
+#include <SvgCodecImageConstants.hrh>
+#include <SVGEngineInterfaceImpl.h>
+
 //  CLASS HEADER
 #include "glxcommandhandlerupload.h"
 #include "glxuploadcenrepwatcher.h"
@@ -34,13 +38,12 @@
 #include <glxcommandhandlers.hrh>			// for EGlxCmdUpload
 #include <glxfetchcontextremover.h>         // for TGlxFetchContextRemover
 #include <glxtracer.h>                      // for TRACER logs
+#include <glxlog.h>                         // for GLX logs
 #include <glxuiutilities.rsg>               // for Share AIW interest resource
 #include <mglxmedialist.h>                  // for accessing the media items
 
 #include <glxnavigationalstate.h>
 #include <glxcollectionpluginimageviewer.hrh>
-
-#include <thumbnaildata.h>
 #include <gulicon.h>
 
 // CONSTANTS AND DEFINITIONS
@@ -116,7 +119,6 @@
 	iSelectedImageCount = 0;
 	iSelectedVideoCount = 0;
 	iCurrentCenRepMonitor = EMonitorNone;
-	iTnmRequestID = KErrNotFound;
 	
 	iIsFullScreenView = IsFullScreenViewL();
 	
@@ -140,7 +142,7 @@
 EXPORT_C CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload()
 	{
 	TRACER("CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload");
-	delete iTnEngine;
+	delete iSvgEngine;
 	
 	if (iUiUtility)
         {
@@ -659,53 +661,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CGlxCommandHandlerUpload::ThumbnailPreviewReady()
-// -----------------------------------------------------------------------------
-//
-void CGlxCommandHandlerUpload::ThumbnailPreviewReady(MThumbnailData& /*aThumbnail*/,
-        TThumbnailRequestId /*aId*/)
-    {
-    TRACER("CGlxCommandHandlerUpload::ThumbnailPreviewReady");
-    }
-
-// -----------------------------------------------------------------------------
-// CGlxCommandHandlerUpload::ThumbnailReady()
-// -----------------------------------------------------------------------------
-//
-void CGlxCommandHandlerUpload::ThumbnailReady(TInt aError,
-        MThumbnailData& aThumbnail, TThumbnailRequestId /*aId*/)
-    {
-    TRACER("CGlxCommandHandlerUpload::ThumbnailReady");
-    
-    if(aError == KErrNone)
-        {
-        TRAP_IGNORE(SetDecodedUploadIconL(aThumbnail));        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CGlxCommandHandlerUpload::SetDecodedUploadIconL()
-// -----------------------------------------------------------------------------
-//
-void CGlxCommandHandlerUpload::SetDecodedUploadIconL(MThumbnailData& aThumbnail)
-    {
-    CAknButton* uploadButton =
-            static_cast<CAknButton*> (iToolbar->ControlOrNull(EGlxCmdUpload));
-
-	if(uploadButton)
-		{
-	    CAknButtonState* currentState = uploadButton->State();    
-	    CFbsBitmap* normalBmp = aThumbnail.DetachBitmap();    
-	    CFbsBitmap* pressedBmp = new (ELeave) CFbsBitmap;
-	    pressedBmp->Duplicate(normalBmp->Handle());
-	    //Ownership of the icon is transferred here    
-	    currentState->SetIcon(CGulIcon::NewL(normalBmp));
-	    currentState->SetPressedIcon(CGulIcon::NewL(pressedBmp));
-	    iToolbar->DrawNow();
-	  	}
-    }
-
-// -----------------------------------------------------------------------------
 // CGlxCommandHandlerUpload::UpdateSelectionCount()
 // -----------------------------------------------------------------------------
 //
@@ -781,36 +736,98 @@
 // CGlxCommandHandlerUpload::DecodeIconL()
 // -----------------------------------------------------------------------------
 //
-void CGlxCommandHandlerUpload::DecodeIconL(const TDes& aUplaodIconNmae)
+void CGlxCommandHandlerUpload::DecodeIconL(const TDes& aUplaodIconName)
     {
     TRACER("CGlxCommandHandlerUpload::DecodeIconL");
-    
-    if(!iTnEngine)
+    GLX_LOG_URI("CGlxCommandHandlerUpload:: DecodeIconL(%S)", &aUplaodIconName);
+
+    if (!iToolbar)
         {
-        iTnEngine = CThumbnailManager::NewL( *this);
-        iTnEngine->SetDisplayModeL( EColor16M );
+        return;
         }
     
-    if(iTnmRequestID != KErrNotFound)
+    CAknButton* uploadButton =
+            static_cast<CAknButton*> (iToolbar->ControlOrNull(EGlxCmdUpload));
+    if (uploadButton)
         {
-        //Cancel any outstanding request
-        iTnEngine->CancelRequest(iTnmRequestID);
-        }
-                
-    iTnEngine->SetFlagsL(CThumbnailManager::EDefaultFlags);
+        CAknButtonState* currentState = uploadButton->State();
+        const CGulIcon *icon = currentState->Icon();
+
+        TSize size(icon->Bitmap()->SizeInPixels());
+        CFbsBitmap* frameBuffer = new (ELeave) CFbsBitmap;
+        CleanupStack::PushL(frameBuffer);
+        TDisplayMode dispMode =
+                CEikonEnv::Static()->ScreenDevice()->DisplayMode();
+
+        TFontSpec spec;
+        if (!iSvgEngine)
+            {
+            iSvgEngine = CSvgEngineInterfaceImpl::NewL(frameBuffer, NULL,
+                    spec);
+            }
+
+        TInt domHandle = KErrNotFound;
+        MSvgError* serr = iSvgEngine->PrepareDom(aUplaodIconName, domHandle);
+        GLX_LOG_INFO3("CGlxCommandHandlerUpload::DecodeIconL prepare svg dom reader, warning:%d, err code:%d, description:[%S]", serr->IsWarning(), serr->ErrorCode(), &(serr->Description()));
+        if (serr->HasError() && !serr->IsWarning())
+            {
+            GLX_DEBUG2("CGlxCommandHandlerUpload::DecodeIconL PrepareDom error:%d",
+                    serr->SystemErrorCode());
+            User::Leave(serr->SystemErrorCode());
+            }
+
+        // create image bitmap
+        GLX_LOG_INFO("CGlxCommandHandlerUpload::DecodeIconL: Create bitmap for snapshot..");
 
-    CAknButton* uploadButton =
-                           static_cast<CAknButton*> (iToolbar->ControlOrNull(EGlxCmdUpload));
-    if(uploadButton)
-    	{
-	    CAknButtonState* currentState = uploadButton->State();
-	    const CGulIcon *icon = currentState->Icon();    
-	    iTnEngine->SetThumbnailSizeL(icon->Bitmap()->SizeInPixels());
-	    iTnEngine->SetQualityPreferenceL(CThumbnailManager::EOptimizeForQuality);
-	    CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(aUplaodIconNmae, 0);
-	    iTnmRequestID = iTnEngine->GetThumbnailL(*source);
-	    CleanupStack::PopAndDestroy(source);
-	    }
+        CFbsBitmap* decodedBitmap = new (ELeave) CFbsBitmap;
+        CFbsBitmap* decodedMask = new (ELeave) CFbsBitmap;
+        TRAPD ( createError,
+                    {
+                    decodedBitmap->Create( size, EColor64K );
+                    decodedMask->Create( size, EGray256 );
+                    });
+        if (createError)
+            {
+            GLX_DEBUG2("CGlxCommandHandlerUpload::DecodeIconL Error while creating bitmaps:%d", createError );
+            delete decodedBitmap;
+            decodedBitmap = NULL;
+            delete decodedMask;
+            decodedMask = NULL;
+            User::Leave(createError);
+            }
+
+        // create soft mask
+        iSvgEngine->SetViewportHeight((CSvgDocumentImpl *) domHandle,
+                size.iHeight);
+        iSvgEngine->SetViewportWidth((CSvgDocumentImpl *) domHandle,
+                size.iWidth);
+
+        // render svg image
+        serr = iSvgEngine->RenderDom(domHandle, decodedBitmap, decodedMask);
+        GLX_LOG_INFO3("CGlxCommandHandlerUpload::DecodeIconL render svg dom reader, warning:%d, err code:%d, description:[%S]",
+                serr->IsWarning(), serr->ErrorCode(), &(serr->Description()));
+        if (serr->HasError() && !serr->IsWarning())
+            {
+            GLX_DEBUG2("CGlxCommandHandlerUpload::DecodeIconL RenderDom error:%d",
+                    serr->SystemErrorCode());
+            User::Leave(serr->SystemErrorCode());
+            }
+
+        CleanupStack::PopAndDestroy(frameBuffer);
+        iSvgEngine->DeleteDom(domHandle);
+        iSvgEngine->Destroy();
+
+        CFbsBitmap* pressedBitmap = new (ELeave) CFbsBitmap;
+        CFbsBitmap* pressedMask = new (ELeave) CFbsBitmap;
+        pressedBitmap->Duplicate(decodedBitmap->Handle());
+        pressedMask->Duplicate(decodedMask->Handle());
+
+        //Ownership of the icon is transferred here    
+        currentState->SetIcon(CGulIcon::NewL(decodedBitmap, decodedMask));
+        currentState->SetPressedIcon(CGulIcon::NewL(pressedBitmap,
+                pressedMask));
+        iToolbar->DrawNow();
+        }
     }
 
 
--- a/photosgallery/viewframework/dataprovider/src/glxdetailsmulmodelproviderimpl.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/dataprovider/src/glxdetailsmulmodelproviderimpl.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -93,7 +93,7 @@
 	TRACER("CGlxDetailsMulModelProviderImpl::AddEntryL");
 	CGlxBindingSet* bindingSet = aFactory.CreateBindingSetL( *this );
 	CleanupStack::PushL( bindingSet);
-	iEntries.Append( bindingSet );
+	iEntries.AppendL( bindingSet );
 	CleanupStack::Pop( bindingSet );
     TSize Size;
     bindingSet->AddRequirementsL(*iAttributeRequirements,Size);
--- a/photosgallery/viewframework/medialists/bwins/glxmedialistsu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/bwins/glxmedialistsu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -15,40 +15,40 @@
 	?NewL@CGlxUStringConverter@@SAPAV1@XZ @ 14 NONAME ; class CGlxUStringConverter * CGlxUStringConverter::NewL(void)
 	?InstanceL@MGlxCache@@SAPAV1@XZ @ 15 NONAME ; class MGlxCache * MGlxCache::InstanceL(void)
 	?Reset@CGlxMedia@@QAEXXZ @ 16 NONAME ; void CGlxMedia::Reset(void)
-	?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 17 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int)
-	??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 18 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
-	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 19 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
-	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 20 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
-	?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 21 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
-	?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 22 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
-	??1TGlxSelectionIterator@@QAE@XZ @ 23 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
-	?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 24 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
-	??0TGlxSelectionIterator@@QAE@XZ @ 25 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
-	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 26 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 17 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
+	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 18 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
+	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 19 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
+	?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 20 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
+	?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 21 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
+	??1TGlxSelectionIterator@@QAE@XZ @ 22 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
+	?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 23 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
+	??0TGlxSelectionIterator@@QAE@XZ @ 24 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
+	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 25 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	?AddObjectsL@CGlxListWindow@@QAEXHH@Z @ 26 NONAME ; void CGlxListWindow::AddObjectsL(int, int)
 	?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 27 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const
 	??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 28 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
 	?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 29 NONAME ; int TGlxMedia::GetFrameCount(int &) const
 	??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 30 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
 	?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 31 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
-	?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 32 NONAME ; void CGlxListWindow::SetFocusIndex(int)
-	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 33 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
-	??1CGlxDefaultThumbnailContext@@UAE@XZ @ 34 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
-	?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 35 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
-	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 36 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
-	?ConstructL@CGlxListWindow@@QAEXXZ @ 37 NONAME ; void CGlxListWindow::ConstructL(void)
-	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 38 NONAME ; void TGlxSequentialIterator::SetRange(int)
-	?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 39 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
-	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 40 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
-	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 41 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
-	?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 42 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
-	?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 43 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
-	?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 44 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
-	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 45 NONAME ; void TGlxSelectionIterator::SetRange(int)
-	?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 46 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
-	?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 47 NONAME ; int TGlxMedia::GetDate(class TTime &) const
-	?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 48 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
-	?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 49 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
-	?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 50 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 32 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
+	??1CGlxDefaultThumbnailContext@@UAE@XZ @ 33 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
+	?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 34 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
+	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 35 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
+	?ConstructL@CGlxListWindow@@QAEXXZ @ 36 NONAME ; void CGlxListWindow::ConstructL(void)
+	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 37 NONAME ; void TGlxSequentialIterator::SetRange(int)
+	?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 38 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
+	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 39 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
+	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 40 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
+	?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 41 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
+	?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 42 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
+	?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 43 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
+	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 44 NONAME ; void TGlxSelectionIterator::SetRange(int)
+	?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 45 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
+	?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 46 NONAME ; int TGlxMedia::GetDate(class TTime &) const
+	?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 47 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
+	?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 48 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
+	?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 49 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHH@Z @ 50 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int)
 	?IsStatic@TGlxMedia@@QBEHXZ @ 51 NONAME ; int TGlxMedia::IsStatic(void) const
 	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 52 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
 	?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 53 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int)
@@ -64,47 +64,47 @@
 	?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 63 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &)
 	?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 64 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId<class TGlxIdHierarchyBase> const &, class CMPXMedia *)
 	?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 65 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *)
-	?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 66 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int)
-	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 67 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
-	?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 68 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
-	??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 69 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
-	?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 70 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
-	?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 71 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
-	?AddObjects@CGlxListWindow@@QAEXHH@Z @ 72 NONAME ; void CGlxListWindow::AddObjects(int, int)
-	?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 73 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
-	??0TGlxSequentialIterator@@QAE@XZ @ 74 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
-	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 75 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
-	?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 76 NONAME ; int CGlxAttributeContext::AttributeCount(void)
-	?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 77 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
-	?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 78 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
-	?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 79 NONAME ; void CGlxListWindow::SetFocusIndex(int, int)
-	?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 80 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
-	?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 81 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
-	??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 82 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
-	?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 83 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
-	?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 84 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
-	??1CGlxMedia@@UAE@XZ @ 85 NONAME ; CGlxMedia::~CGlxMedia(void)
-	?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 86 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
-	?IsDrmProtected@TGlxMedia@@QBEHXZ @ 87 NONAME ; int TGlxMedia::IsDrmProtected(void) const
-	??1CGlxThumbnailContext@@UAE@XZ @ 88 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
-	?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 89 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
-	?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 90 NONAME ; int TGlxMedia::GetSystemItem(int &) const
-	?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 91 NONAME ; void CGlxListWindow::RemoveObjects(int, int)
-	?Close@TGlxFetchContextRemover@@QAEXXZ @ 92 NONAME ; void TGlxFetchContextRemover::Close(void)
-	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 93 NONAME ; class CBase const * CGlxListWindow::At(int) const
-	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 94 NONAME ; class CBase * CGlxListWindow::At(int)
-	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 95 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
-	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 96 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
-	?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 97 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
-	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 98 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
-	?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 99 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
-	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
-	?Cleanup@CGlxListWindow@@QAEXXZ @ 101 NONAME ; void CGlxListWindow::Cleanup(void)
-	?GetSize@TGlxMedia@@QBEHAAI@Z @ 102 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
-	??1TGlxExclusionIterator@@QAE@XZ @ 103 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
-	??1TGlxFetchContextRemover@@QAE@XZ @ 104 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
-	?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 105 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
-	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 106 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 66 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
+	?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 67 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
+	??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 68 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
+	?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 69 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
+	?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 70 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
+	?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 71 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
+	??0TGlxSequentialIterator@@QAE@XZ @ 72 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
+	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 73 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
+	?SetFocusIndexL@CGlxListWindow@@QAEXHH@Z @ 74 NONAME ; void CGlxListWindow::SetFocusIndexL(int, int)
+	?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 75 NONAME ; int CGlxAttributeContext::AttributeCount(void)
+	?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 76 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
+	?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 77 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
+	?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 78 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
+	?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 79 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
+	??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 80 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
+	?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 81 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
+	?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 82 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
+	??1CGlxMedia@@UAE@XZ @ 83 NONAME ; CGlxMedia::~CGlxMedia(void)
+	?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 84 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
+	?IsDrmProtected@TGlxMedia@@QBEHXZ @ 85 NONAME ; int TGlxMedia::IsDrmProtected(void) const
+	??1CGlxThumbnailContext@@UAE@XZ @ 86 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
+	?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 87 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
+	?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 88 NONAME ; int TGlxMedia::GetSystemItem(int &) const
+	?Close@TGlxFetchContextRemover@@QAEXXZ @ 89 NONAME ; void TGlxFetchContextRemover::Close(void)
+	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 90 NONAME ; class CBase const * CGlxListWindow::At(int) const
+	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 91 NONAME ; class CBase * CGlxListWindow::At(int)
+	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 92 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
+	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 93 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
+	?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 94 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
+	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 95 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
+	?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 96 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
+	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 97 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
+	?GetSize@TGlxMedia@@QBEHAAI@Z @ 98 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
+	?SetFocusIndexL@CGlxListWindow@@QAEXH@Z @ 99 NONAME ; void CGlxListWindow::SetFocusIndexL(int)
+	??1TGlxExclusionIterator@@QAE@XZ @ 100 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
+	??1TGlxFetchContextRemover@@QAE@XZ @ 101 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 102 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int, int, int)
+	?CleanupL@CGlxListWindow@@QAEXXZ @ 103 NONAME ; void CGlxListWindow::CleanupL(void)
+	?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 104 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
+	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 105 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?AddObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 106 NONAME ; void CGlxListWindow::AddObjectsL(int, int, int, int)
 	?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 107 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const
 	?MatchById@TGlxMedia@@SAHABV1@0@Z @ 108 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &)
 	?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 109 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
--- a/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/eabi/glxmedialistsu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -1,17 +1,17 @@
 EXPORTS
 	_ZN13MGlxMediaList10UnmarkAllLERS_ @ 1 NONAME
 	_ZN13MGlxMediaList9InstanceLERK18CMPXCollectionPathRK6TGlxIdI19TGlxIdHierarchyBaseEP9CMPXMedia @ 2 NONAME
-	_ZN14CGlxListWindow10AddObjectsEii @ 3 NONAME
-	_ZN14CGlxListWindow10AddObjectsEiiii @ 4 NONAME
-	_ZN14CGlxListWindow10ConstructLEv @ 5 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEii @ 6 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEiiii @ 7 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEi @ 8 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEii @ 9 NONAME
+	_ZN14CGlxListWindow10ConstructLEv @ 3 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEii @ 4 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEiiii @ 5 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEii @ 6 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEiiii @ 7 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEi @ 8 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEii @ 9 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEii @ 10 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEiiii @ 11 NONAME
 	_ZN14CGlxListWindow2AtEi @ 12 NONAME
-	_ZN14CGlxListWindow7CleanupEv @ 13 NONAME
+	_ZN14CGlxListWindow8CleanupLEv @ 13 NONAME
 	_ZN14CGlxListWindowC1ER23MGlxWindowObjectFactory @ 14 NONAME
 	_ZN14CGlxListWindowC2ER23MGlxWindowObjectFactory @ 15 NONAME
 	_ZN14CGlxListWindowD0Ev @ 16 NONAME
@@ -119,80 +119,80 @@
 	_ZN9MGlxCache9InstanceLEv @ 118 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 119 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 120 NONAME
-	_ZNK14CGlxListWindow2AtEi @ 121 NONAME
-	_ZNK14CGlxListWindow8IteratorEv @ 122 NONAME
-	_ZNK20CGlxUStringConverter9AsStringLERK9TGlxMediaRK13TMPXAttributeiRP7HBufC16 @ 123 NONAME
-	_ZNK21TGlxSelectionIterator7InRangeEi @ 124 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 125 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 126 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 127 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 128 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 129 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 130 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 131 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 132 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 133 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 134 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 135 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 136 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 137 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 138 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 139 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 140 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 141 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 142 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 143 NONAME
-	_ZNK9TGlxMedia3UriEv @ 144 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 145 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 146 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 147 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 148 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 149 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 150 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 151 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 152 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 153 NONAME
-	_ZTI13CGlxMediaList @ 154 NONAME
-	_ZTI14CGlxListWindow @ 155 NONAME
-	_ZTI15CGlxImageReader @ 156 NONAME
-	_ZTI16CGlxCacheManager @ 157 NONAME
-	_ZTI20CGlxAttributeContext @ 158 NONAME
-	_ZTI20CGlxGarbageCollector @ 159 NONAME
-	_ZTI20CGlxThumbnailContext @ 160 NONAME
-	_ZTI21TGlxExclusionIterator @ 161 NONAME
-	_ZTI21TGlxSelectionIterator @ 162 NONAME
-	_ZTI22TGlxSequentialIterator @ 163 NONAME
-	_ZTI22TGlxSpecificIdIterator @ 164 NONAME
-	_ZTI25TGlxFirstThenLastIterator @ 165 NONAME
-	_ZTI27CGlxDefaultAttributeContext @ 166 NONAME
-	_ZTI27CGlxDefaultThumbnailContext @ 167 NONAME
-	_ZTI28TGlxFromFocusOutwardIterator @ 168 NONAME
-	_ZTI33TGlxFromManualIndexBlockyIterator @ 169 NONAME
-	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 170 NONAME
-	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 171 NONAME
-	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 172 NONAME
-	_ZTV13CGlxMediaList @ 173 NONAME
-	_ZTV14CGlxListWindow @ 174 NONAME
-	_ZTV15CGlxImageReader @ 175 NONAME
-	_ZTV16CGlxCacheManager @ 176 NONAME
-	_ZTV20CGlxAttributeContext @ 177 NONAME
-	_ZTV20CGlxGarbageCollector @ 178 NONAME
-	_ZTV20CGlxThumbnailContext @ 179 NONAME
-	_ZTV21TGlxExclusionIterator @ 180 NONAME
-	_ZTV21TGlxSelectionIterator @ 181 NONAME
-	_ZTV22TGlxSequentialIterator @ 182 NONAME
-	_ZTV22TGlxSpecificIdIterator @ 183 NONAME
-	_ZTV25TGlxFirstThenLastIterator @ 184 NONAME
-	_ZTV27CGlxDefaultAttributeContext @ 185 NONAME
-	_ZTV27CGlxDefaultThumbnailContext @ 186 NONAME
-	_ZTV28TGlxFromFocusOutwardIterator @ 187 NONAME
-	_ZTV33TGlxFromManualIndexBlockyIterator @ 188 NONAME
-	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 189 NONAME
-	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 190 NONAME
-	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 191 NONAME
-	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 192 NONAME
-	_ZNK14CGlxListWindow18__DbgTestInvariantEv @ 193 NONAME
-	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 194 NONAME
-	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 195 NONAME
-	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 196 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 121 NONAME
+	_ZNK14CGlxListWindow18__DbgTestInvariantEv @ 122 NONAME
+	_ZNK14CGlxListWindow2AtEi @ 123 NONAME
+	_ZNK14CGlxListWindow8IteratorEv @ 124 NONAME
+	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 125 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 126 NONAME
+	_ZNK20CGlxUStringConverter9AsStringLERK9TGlxMediaRK13TMPXAttributeiRP7HBufC16 @ 127 NONAME
+	_ZNK21TGlxSelectionIterator7InRangeEi @ 128 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 129 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 130 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 131 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 132 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 133 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 134 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 135 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 136 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 137 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 138 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 139 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 140 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 141 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 142 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 143 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 144 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 145 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 146 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 147 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 148 NONAME
+	_ZNK9TGlxMedia3UriEv @ 149 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 150 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 151 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 152 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 153 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 154 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 155 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 156 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 157 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 158 NONAME
+	_ZTI13CGlxMediaList @ 159 NONAME
+	_ZTI14CGlxListWindow @ 160 NONAME
+	_ZTI15CGlxImageReader @ 161 NONAME
+	_ZTI16CGlxCacheManager @ 162 NONAME
+	_ZTI20CGlxAttributeContext @ 163 NONAME
+	_ZTI20CGlxGarbageCollector @ 164 NONAME
+	_ZTI20CGlxThumbnailContext @ 165 NONAME
+	_ZTI21TGlxExclusionIterator @ 166 NONAME
+	_ZTI21TGlxSelectionIterator @ 167 NONAME
+	_ZTI22TGlxSequentialIterator @ 168 NONAME
+	_ZTI22TGlxSpecificIdIterator @ 169 NONAME
+	_ZTI25TGlxFirstThenLastIterator @ 170 NONAME
+	_ZTI27CGlxDefaultAttributeContext @ 171 NONAME
+	_ZTI27CGlxDefaultThumbnailContext @ 172 NONAME
+	_ZTI28TGlxFromFocusOutwardIterator @ 173 NONAME
+	_ZTI33TGlxFromManualIndexBlockyIterator @ 174 NONAME
+	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 175 NONAME
+	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 176 NONAME
+	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 177 NONAME
+	_ZTV13CGlxMediaList @ 178 NONAME
+	_ZTV14CGlxListWindow @ 179 NONAME
+	_ZTV15CGlxImageReader @ 180 NONAME
+	_ZTV16CGlxCacheManager @ 181 NONAME
+	_ZTV20CGlxAttributeContext @ 182 NONAME
+	_ZTV20CGlxGarbageCollector @ 183 NONAME
+	_ZTV20CGlxThumbnailContext @ 184 NONAME
+	_ZTV21TGlxExclusionIterator @ 185 NONAME
+	_ZTV21TGlxSelectionIterator @ 186 NONAME
+	_ZTV22TGlxSequentialIterator @ 187 NONAME
+	_ZTV22TGlxSpecificIdIterator @ 188 NONAME
+	_ZTV25TGlxFirstThenLastIterator @ 189 NONAME
+	_ZTV27CGlxDefaultAttributeContext @ 190 NONAME
+	_ZTV27CGlxDefaultThumbnailContext @ 191 NONAME
+	_ZTV28TGlxFromFocusOutwardIterator @ 192 NONAME
+	_ZTV33TGlxFromManualIndexBlockyIterator @ 193 NONAME
+	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 194 NONAME
+	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 195 NONAME
+	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 196 NONAME
 
--- a/photosgallery/viewframework/medialists/inc/glxlistwindow.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/inc/glxlistwindow.h	Mon Jun 21 15:40:32 2010 +0300
@@ -108,7 +108,7 @@
      * classes implement MGlxWindowObjectFactory, since vtable would not
      * be valid in the destructor 
 	 */
-	IMPORT_C void Cleanup();
+	IMPORT_C void CleanupL();
 
 	/**
 	 * Updates range offset. The range is the span of indexes that defined 
@@ -128,16 +128,16 @@
  	 * Sets the focus. 
  	 * @param aFocusIndex index of the object to be focused in the list
  	 */
-	/* @todo depricated */ IMPORT_C void SetFocusIndex( TInt aFocusIndex ); 
-	IMPORT_C void SetFocusIndex( TInt aFocusIndex, TInt aTotalSize );
+	/* @todo depricated */ IMPORT_C void SetFocusIndexL( TInt aFocusIndex ); 
+	IMPORT_C void SetFocusIndexL( TInt aFocusIndex, TInt aTotalSize );
 
 	/**
 	 * Adds objects to the list. Updates window if necessary.
 	 * The function assumes that the underlying data structure has
 	 * already changed.
 	 */
-	/* @todo depricated */ IMPORT_C void AddObjects( TInt aFirstNewIndex, TInt aLastNewIndex ); 
-	IMPORT_C void AddObjects( TInt aFocusIndex, TInt aTotalSize,
+	/* @todo depricated */ IMPORT_C void AddObjectsL( TInt aFirstNewIndex, TInt aLastNewIndex ); 
+	IMPORT_C void AddObjectsL( TInt aFocusIndex, TInt aTotalSize,
 	    TInt aFirstNewIndex, TInt aLastNewIndex );
 	
 	/**
@@ -145,8 +145,8 @@
 	 * The function assumes that the underlying data structure has
 	 * already changed.
 	 */
-	/* @todo depricated */ IMPORT_C void RemoveObjects( TInt aFirstRemovedIndex, TInt aLastRemovedIndex ); 
-	IMPORT_C void RemoveObjects( TInt aFocusIndex, TInt aTotalSize, 
+	/* @todo depricated */ IMPORT_C void RemoveObjectsL( TInt aFirstRemovedIndex, TInt aLastRemovedIndex ); 
+	IMPORT_C void RemoveObjectsL( TInt aFocusIndex, TInt aTotalSize, 
 	    TInt aFirstRemovedIndex, TInt aLastRemovedIndex );
 	
 	/**
@@ -192,9 +192,9 @@
         };
 
     /** Update the window based on the change */
-    void Update( const TChange& aChange );
+    void UpdateL( const TChange& aChange );
     /** Move objects from main window to working window, or object pool if not needed */
-    void PopulateExistingAndUnuseOld( const TChange& aChange );
+    void PopulateExistingAndUnuseOldL( const TChange& aChange );
     /** Populate main window with items from object pool */
     void PopulateNew();
     /** Make working window the main window and vice versa */
--- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -341,7 +341,7 @@
 			TInt userCount = item->UserCount();
 			for ( TInt userIndex = 0; userIndex < userCount; userIndex++ )
 				{
-				users.InsertInAddressOrder( &item->User( userIndex ) );
+				users.InsertInAddressOrderL( &item->User( userIndex ) );
 				}
         	}		
         // Notify all affected users of error
--- a/photosgallery/viewframework/medialists/src/glxlistwindow.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/src/glxlistwindow.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -52,7 +52,7 @@
         }
         
     /** Preparet the window to accept items */
-    void Initialize( const CGlxListWindow::TRange& aRange, TInt aTotalSize )
+    void InitializeL( const CGlxListWindow::TRange& aRange, TInt aTotalSize )
         {
         __TEST_INVARIANT;
         
@@ -68,7 +68,7 @@
         for ( TInt i = iObjects.Count(); i < aRange.iLength; i++ ) 
             {
             // Append cannot fail since reservation has been made
-            ( void ) iObjects.Append( NULL );
+            ( void ) iObjects.AppendL( NULL );
             }
 
         // remove unnecessary pointers
@@ -276,12 +276,12 @@
 // Cleans up remaining objects in the window
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void CGlxListWindow::Cleanup() 
+EXPORT_C void CGlxListWindow::CleanupL() 
 	{
-	TRACER("CGlxListWindow::Cleanup");
+	TRACER("CGlxListWindow::CleanupL");
 	
     // make the window empty. this will clean up all remaining objects.
-    Update( TChange( KErrNotFound, 0, EChangeObjectsRemoved, 0, iWindow->TotalSize() - 1 ) );
+    UpdateL( TChange( KErrNotFound, 0, EChangeObjectsRemoved, 0, iWindow->TotalSize() - 1 ) );
 	}
 	
 // -----------------------------------------------------------------------------
@@ -326,10 +326,10 @@
     for ( TInt i = iWindow->Size() + iUnusedObjects.Count(); i < maxObjectCount; i++ )
         {
         // cannot fail since reservation made above
-        ( void ) iUnusedObjects.Append( iObjectFactory.CreateObjectL() );
+        ( void )iUnusedObjects.AppendL( iObjectFactory.CreateObjectL() );
         }
 	
-	Update( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
+	UpdateL( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
 	}
     
 // -----------------------------------------------------------------------------
@@ -347,38 +347,38 @@
 // SetFocusIndexL
 // -----------------------------------------------------------------------------
 // DEPRICATED
-EXPORT_C void CGlxListWindow::SetFocusIndex( TInt aFocusIndex ) 
+EXPORT_C void CGlxListWindow::SetFocusIndexL( TInt aFocusIndex ) 
 	{
-	TRACER("CGlxListWindow::SetFocusIndex");
+	TRACER("CGlxListWindow::SetFocusIndexL");
 	
-	SetFocusIndex( aFocusIndex, iWindow->TotalSize() );
+	SetFocusIndexL( aFocusIndex, iWindow->TotalSize() );
 	}
 	
 // -----------------------------------------------------------------------------
 // SetFocusIndexL
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void CGlxListWindow::SetFocusIndex( TInt aFocusIndex, TInt aTotalSize ) 
+EXPORT_C void CGlxListWindow::SetFocusIndexL( TInt aFocusIndex, TInt aTotalSize ) 
 	{
-	TRACER("CGlxListWindow::SetFocusIndex");
+	TRACER("CGlxListWindow::SetFocusIndexL");
 	
 	__ASSERT_DEBUG( ( 0 <= aFocusIndex && aFocusIndex < aTotalSize ) ||
                     ( KErrNotFound == aFocusIndex && 0 == aTotalSize ), 
                     Panic( EGlxPanicIllegalArgument ) );
     __TEST_INVARIANT;
     
-	Update( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
+	UpdateL( TChange( aFocusIndex, aTotalSize, EChangeNone, 0, 0 ) );
     
     __TEST_INVARIANT;
 	}
 		
 // -----------------------------------------------------------------------------
-// AddObjects
+// AddObjectsL
 // -----------------------------------------------------------------------------
 // DEPRICATED
-EXPORT_C void CGlxListWindow::AddObjects( TInt aFirstNewIndex, TInt aLastNewIndex ) 
+EXPORT_C void CGlxListWindow::AddObjectsL( TInt aFirstNewIndex, TInt aLastNewIndex ) 
 	{
-	TRACER("CGlxListWindow::AddObjects");
+	TRACER("CGlxListWindow::AddObjectsL");
 	
 	TInt newItemCount = aLastNewIndex - aFirstNewIndex + 1;
 	TInt newTotalSize = iWindow->TotalSize() + newItemCount;
@@ -398,17 +398,17 @@
 		newFocusIndex += newItemCount;
 		}
 		
-    AddObjects( newFocusIndex, newTotalSize, aFirstNewIndex, aLastNewIndex );
+    AddObjectsL( newFocusIndex, newTotalSize, aFirstNewIndex, aLastNewIndex );
 	}
 		
 // -----------------------------------------------------------------------------
-// AddObjects
+// AddObjectsL
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void CGlxListWindow::AddObjects( TInt aFocusIndex, 
+EXPORT_C void CGlxListWindow::AddObjectsL( TInt aFocusIndex, 
         TInt aTotalSize, TInt aFirstNewIndex, TInt aLastNewIndex ) 
 	{
-	TRACER("CGlxListWindow::AddObjects");
+	TRACER("CGlxListWindow::AddObjectsL");
 	
     __ASSERT_DEBUG( 0 <= aFirstNewIndex && aFirstNewIndex <= aLastNewIndex && 
                     aLastNewIndex < aTotalSize &&
@@ -416,19 +416,19 @@
                     Panic( EGlxPanicIllegalArgument ) ); 
     __TEST_INVARIANT;
 	
-	Update( TChange( aFocusIndex, aTotalSize, EChangeObjectsAdded, 
+	UpdateL( TChange( aFocusIndex, aTotalSize, EChangeObjectsAdded, 
         aFirstNewIndex, aLastNewIndex ) );
 		
     __TEST_INVARIANT;
 	}
 	
 // -----------------------------------------------------------------------------
-// RemoveObjects
+// RemoveObjectsL
 // -----------------------------------------------------------------------------
 // DEPRICATED
-EXPORT_C void CGlxListWindow::RemoveObjects( TInt aFirstRemovedIndex, TInt aLastRemovedIndex ) 
+EXPORT_C void CGlxListWindow::RemoveObjectsL( TInt aFirstRemovedIndex, TInt aLastRemovedIndex ) 
 	{
-	TRACER("CGlxListWindow::RemoveObjects");
+	TRACER("CGlxListWindow::RemoveObjectsL");
 	
 	TInt itemsRemovedCount = aLastRemovedIndex - aFirstRemovedIndex + 1;
 	TInt newTotalSize = iWindow->TotalSize() - itemsRemovedCount;
@@ -460,17 +460,17 @@
 	    	}
 	    }
 
-	RemoveObjects( newFocusIndex, newTotalSize, aFirstRemovedIndex, aLastRemovedIndex );
+	RemoveObjectsL( newFocusIndex, newTotalSize, aFirstRemovedIndex, aLastRemovedIndex );
 	}	
 
 // -----------------------------------------------------------------------------
-// RemoveObjects
+// RemoveObjectsL
 // -----------------------------------------------------------------------------
 //	
-EXPORT_C void CGlxListWindow::RemoveObjects( TInt aFocusIndex, 
+EXPORT_C void CGlxListWindow::RemoveObjectsL( TInt aFocusIndex, 
         TInt aTotalSize, TInt aFirstRemovedIndex, TInt aLastRemovedIndex ) 
 	{
-	TRACER("CGlxListWindow::RemoveObjects");
+	TRACER("CGlxListWindow::RemoveObjectsL");
 	
     __ASSERT_DEBUG( 0 <= aFirstRemovedIndex && aFirstRemovedIndex <= aLastRemovedIndex &&
                     ( ( 0 <= aFocusIndex && aFocusIndex < aTotalSize ) || 
@@ -478,19 +478,19 @@
                     Panic( EGlxPanicIllegalArgument ) ); 
     __TEST_INVARIANT;
     
-	Update( TChange( aFocusIndex, aTotalSize, EChangeObjectsRemoved, 
+	UpdateL( TChange( aFocusIndex, aTotalSize, EChangeObjectsRemoved, 
         aFirstRemovedIndex, aLastRemovedIndex ) );
 
     __TEST_INVARIANT;
 	}	
     
 // -----------------------------------------------------------------------------
-// Update
+// UpdateL
 // -----------------------------------------------------------------------------
 //
-void CGlxListWindow::Update( const TChange& aChange )
+void CGlxListWindow::UpdateL( const TChange& aChange )
 	{
-	TRACER("CGlxListWindow::Update");
+	TRACER("CGlxListWindow::UpdateL");
 	
     // (in a list of:  |abcdefghijklm|
     // iWindow:        |----efghi----|
@@ -499,14 +499,14 @@
     //                      is shorter than max window length)
     
     // Prepare the working window to accept objects
-    iWorkingWindow->Initialize( Range( aChange ), aChange.iNewTotalSize );
+    iWorkingWindow->InitializeL( Range( aChange ), aChange.iNewTotalSize );
 
     // iWindow:        |----efghi----|
     // iWorkingWindow: |------00000--|
     // iUnusedObjects: XXX 
     
     // move unused objects to pool, and reusable objects to working window
-    PopulateExistingAndUnuseOld( aChange );
+    PopulateExistingAndUnuseOldL( aChange );
 
     // iWindow:        |----efghi----|
     // iWorkingWindow: |------ghi00--|
@@ -533,12 +533,12 @@
 	}
     
 // -----------------------------------------------------------------------------
-// PopulateExistingAndUnuseOld
+// PopulateExistingAndUnuseOldL
 // -----------------------------------------------------------------------------
 //	
-void CGlxListWindow::PopulateExistingAndUnuseOld( const TChange& aChange ) 
+void CGlxListWindow::PopulateExistingAndUnuseOldL( const TChange& aChange ) 
     {
-    TRACER("CGlxListWindow::PopulateExistingAndUnuseOld");
+    TRACER("CGlxListWindow::PopulateExistingAndUnuseOldL");
     
     // move objects that are needed after the change into the working window, 
     // and objects that are not needed into the object pool
@@ -562,11 +562,11 @@
             iObjectFactory.CleanupObject( index, *( *iWindow )[ index ] );
             // add the object to the unused objects pool
             // cannot fail since reservation made
-            ( void ) iUnusedObjects.Append( ( *iWindow )[ index ] );
+            ( void )iUnusedObjects.AppendL( ( *iWindow )[ index ] );
             }
             
         // clear the pointer in the existing window. it is not strictly necessary
-        // to do here, but saves a loop from doing it in CGlxDataWindow::Initialize
+        // to do here, but saves a loop from doing it in CGlxDataWindow::InitializeL
         ( *iWindow )[ index ] = NULL;
         }
     }
--- a/photosgallery/viewframework/medialists/src/glxmedia.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/src/glxmedia.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -580,7 +580,8 @@
 
     __DEBUG_ONLY( _iUserReservationCount-- );
 
-	iUsers.Append( TMediaUser( &aUser, aIndex ) ); // Ignore error, cannot fail since reservation made 
+	// Ignore the leave, cannot fail since reservation made 
+    TRAP_IGNORE(iUsers.AppendL(TMediaUser(&aUser, aIndex))); 
 	}
 
 // -----------------------------------------------------------------------------
--- a/photosgallery/viewframework/medialists/src/glxmedialist.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/src/glxmedialist.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -1344,7 +1344,7 @@
     for (TInt level = 0; level < levels; level++) 
         {
         TGlxMediaId id(aPath.Id(level));
-        iPath.Append(id); 
+        iPath.AppendL(id); 
         }
 
     
--- a/photosgallery/viewframework/medialists/tsrc/BWINS/t_glxlistwindowu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/BWINS/t_glxlistwindowu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -6,16 +6,16 @@
 	??0TGlxWindowIterator@@QAE@ABV0@@Z @ 5 NONAME ; TGlxWindowIterator::TGlxWindowIterator(class TGlxWindowIterator const &)
 	??ETGlxWindowIterator@@QAEHH@Z @ 6 NONAME ; int TGlxWindowIterator::operator++(int)
 	?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 7 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const
-	?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 8 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int)
-	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 9 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
-	?Cleanup@CGlxListWindow@@QAEXXZ @ 10 NONAME ; void CGlxListWindow::Cleanup(void)
-	?AddObjects@CGlxListWindow@@QAEXHH@Z @ 11 NONAME ; void CGlxListWindow::AddObjects(int, int)
-	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 12 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
-	?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 13 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int)
-	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 14 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
-	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 15 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
-	?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 16 NONAME ; void CGlxListWindow::SetFocusIndex(int, int)
-	?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 17 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
-	?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 18 NONAME ; void CGlxListWindow::SetFocusIndex(int)
-	?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 19 NONAME ; void CGlxListWindow::RemoveObjects(int, int)
+	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 8 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
+	?SetFocusIndexL@CGlxListWindow@@QAEXH@Z @ 9 NONAME ; void CGlxListWindow::SetFocusIndexL(int)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHH@Z @ 10 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int)
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 11 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	?SetFocusIndexL@CGlxListWindow@@QAEXHH@Z @ 12 NONAME ; void CGlxListWindow::SetFocusIndexL(int, int)
+	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 13 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
+	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 14 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
+	?CleanupL@CGlxListWindow@@QAEXXZ @ 15 NONAME ; void CGlxListWindow::CleanupL(void)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 16 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int, int, int)
+	?AddObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 17 NONAME ; void CGlxListWindow::AddObjectsL(int, int, int, int)
+	?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 18 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
+	?AddObjectsL@CGlxListWindow@@QAEXHH@Z @ 19 NONAME ; void CGlxListWindow::AddObjectsL(int, int)
 
--- a/photosgallery/viewframework/medialists/tsrc/BWINS/t_tglxexclusioniteratoru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/BWINS/t_tglxexclusioniteratoru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -8,39 +8,39 @@
 	?SetRangeOffsets@TGlxFromFocusOutwardIterator@@QAEXHH@Z @ 7 NONAME ; void TGlxFromFocusOutwardIterator::SetRangeOffsets(int, int)
 	??ETGlxWindowIterator@@QAEHH@Z @ 8 NONAME ; int TGlxWindowIterator::operator++(int)
 	?__DbgTestInvariant@CGlxListWindow@@QBEXXZ @ 9 NONAME ; void CGlxListWindow::__DbgTestInvariant(void) const
-	?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 10 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int)
-	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 11 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
-	?AddObjects@CGlxListWindow@@QAEXHH@Z @ 12 NONAME ; void CGlxListWindow::AddObjects(int, int)
-	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 13 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
-	?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 14 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int)
-	??0TGlxSequentialIterator@@QAE@XZ @ 15 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
-	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 16 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
-	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 17 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
-	?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 18 NONAME ; void CGlxListWindow::SetFocusIndex(int, int)
-	??1TGlxSelectionIterator@@QAE@XZ @ 19 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
-	??0TGlxSelectionIterator@@QAE@XZ @ 20 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
-	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 21 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
-	??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 22 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
-	??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 23 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
-	?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 24 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
-	?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 25 NONAME ; void CGlxListWindow::SetFocusIndex(int)
-	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 26 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
-	?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 27 NONAME ; void CGlxListWindow::RemoveObjects(int, int)
-	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 28 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
-	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 29 NONAME ; class CBase const * CGlxListWindow::At(int) const
-	?ConstructL@CGlxListWindow@@QAEXXZ @ 30 NONAME ; void CGlxListWindow::ConstructL(void)
-	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 31 NONAME ; void TGlxSequentialIterator::SetRange(int)
-	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 32 NONAME ; class CBase * CGlxListWindow::At(int)
-	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 33 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
-	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 34 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
-	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 35 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
-	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 36 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
-	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 37 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
-	?Cleanup@CGlxListWindow@@QAEXXZ @ 38 NONAME ; void CGlxListWindow::Cleanup(void)
-	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 39 NONAME ; void TGlxSelectionIterator::SetRange(int)
-	??1TGlxExclusionIterator@@QAE@XZ @ 40 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
-	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 41 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
-	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 42 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 10 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 11 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	??0TGlxSequentialIterator@@QAE@XZ @ 12 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
+	?SetFocusIndexL@CGlxListWindow@@QAEXHH@Z @ 13 NONAME ; void CGlxListWindow::SetFocusIndexL(int, int)
+	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 14 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
+	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 15 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
+	??1TGlxSelectionIterator@@QAE@XZ @ 16 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
+	??0TGlxSelectionIterator@@QAE@XZ @ 17 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
+	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 18 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	?AddObjectsL@CGlxListWindow@@QAEXHH@Z @ 19 NONAME ; void CGlxListWindow::AddObjectsL(int, int)
+	??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 20 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
+	??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 21 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
+	?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 22 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
+	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 23 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
+	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 24 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
+	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 25 NONAME ; class CBase const * CGlxListWindow::At(int) const
+	?ConstructL@CGlxListWindow@@QAEXXZ @ 26 NONAME ; void CGlxListWindow::ConstructL(void)
+	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 27 NONAME ; void TGlxSequentialIterator::SetRange(int)
+	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 28 NONAME ; class CBase * CGlxListWindow::At(int)
+	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 29 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
+	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 30 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
+	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 31 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
+	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 32 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
+	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 33 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
+	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 34 NONAME ; void TGlxSelectionIterator::SetRange(int)
+	?SetFocusIndexL@CGlxListWindow@@QAEXH@Z @ 35 NONAME ; void CGlxListWindow::SetFocusIndexL(int)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHH@Z @ 36 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int)
+	??1TGlxExclusionIterator@@QAE@XZ @ 37 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
+	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 38 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 39 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int, int, int)
+	?CleanupL@CGlxListWindow@@QAEXXZ @ 40 NONAME ; void CGlxListWindow::CleanupL(void)
+	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 41 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?AddObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 42 NONAME ; void CGlxListWindow::AddObjectsL(int, int, int, int)
 	?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 43 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
 	??0TGlxFirstThenLastIterator@@QAE@XZ @ 44 NONAME ; TGlxFirstThenLastIterator::TGlxFirstThenLastIterator(void)
 	??1TGlxFirstThenLastIterator@@QAE@XZ @ 45 NONAME ; TGlxFirstThenLastIterator::~TGlxFirstThenLastIterator(void)
--- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxattributecontextu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_cglxattributecontextu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -17,40 +17,40 @@
 	?InstanceL@MGlxCache@@SAPAV1@XZ @ 16 NONAME ; class MGlxCache * MGlxCache::InstanceL(void)
 	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 17 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
 	?Reset@CGlxMedia@@QAEXXZ @ 18 NONAME ; void CGlxMedia::Reset(void)
-	?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 19 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int)
-	??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 20 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
-	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 21 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
-	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 22 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
-	?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 23 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
-	?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 24 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
-	??1TGlxSelectionIterator@@QAE@XZ @ 25 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
-	?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 26 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
-	??0TGlxSelectionIterator@@QAE@XZ @ 27 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
-	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 28 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 19 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
+	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 20 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
+	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 21 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
+	?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 22 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
+	?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 23 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
+	??1TGlxSelectionIterator@@QAE@XZ @ 24 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
+	?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 25 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
+	??0TGlxSelectionIterator@@QAE@XZ @ 26 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
+	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 27 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	?AddObjectsL@CGlxListWindow@@QAEXHH@Z @ 28 NONAME ; void CGlxListWindow::AddObjectsL(int, int)
 	?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 29 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const
 	??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 30 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
 	?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 31 NONAME ; int TGlxMedia::GetFrameCount(int &) const
 	??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 32 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
 	?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 33 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
-	?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 34 NONAME ; void CGlxListWindow::SetFocusIndex(int)
-	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 35 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
-	??1CGlxDefaultThumbnailContext@@UAE@XZ @ 36 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
-	?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 37 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
-	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 38 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
-	?ConstructL@CGlxListWindow@@QAEXXZ @ 39 NONAME ; void CGlxListWindow::ConstructL(void)
-	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 40 NONAME ; void TGlxSequentialIterator::SetRange(int)
-	?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 41 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
-	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 42 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
-	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 43 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
-	?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 44 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
-	?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 45 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
-	?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 46 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
-	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 47 NONAME ; void TGlxSelectionIterator::SetRange(int)
-	?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 48 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
-	?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 49 NONAME ; int TGlxMedia::GetDate(class TTime &) const
-	?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 50 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
-	?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 51 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
-	?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 52 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 34 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
+	??1CGlxDefaultThumbnailContext@@UAE@XZ @ 35 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
+	?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 36 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
+	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 37 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
+	?ConstructL@CGlxListWindow@@QAEXXZ @ 38 NONAME ; void CGlxListWindow::ConstructL(void)
+	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 39 NONAME ; void TGlxSequentialIterator::SetRange(int)
+	?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 40 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
+	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 41 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
+	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 42 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
+	?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 43 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
+	?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 44 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
+	?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 45 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
+	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 46 NONAME ; void TGlxSelectionIterator::SetRange(int)
+	?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 47 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
+	?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 48 NONAME ; int TGlxMedia::GetDate(class TTime &) const
+	?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 49 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
+	?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 50 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
+	?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 51 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHH@Z @ 52 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int)
 	?IsStatic@TGlxMedia@@QBEHXZ @ 53 NONAME ; int TGlxMedia::IsStatic(void) const
 	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 54 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
 	?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 55 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int)
@@ -67,48 +67,48 @@
 	?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 66 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &)
 	?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 67 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId<class TGlxIdHierarchyBase> const &, class CMPXMedia *)
 	?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 68 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *)
-	?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 69 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int)
-	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 70 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
-	?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 71 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
-	??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 72 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
-	?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 73 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
-	?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 74 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
-	?AddObjects@CGlxListWindow@@QAEXHH@Z @ 75 NONAME ; void CGlxListWindow::AddObjects(int, int)
-	?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 76 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
-	??0TGlxSequentialIterator@@QAE@XZ @ 77 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
-	?Close@CGlxDRMUtility@@QAEXXZ @ 78 NONAME ; void CGlxDRMUtility::Close(void)
-	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 79 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
-	?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 80 NONAME ; int CGlxAttributeContext::AttributeCount(void)
-	?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 81 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
-	?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 82 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
-	?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 83 NONAME ; void CGlxListWindow::SetFocusIndex(int, int)
-	?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 84 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
-	?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 85 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
-	??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 86 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
-	?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 87 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
-	?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 88 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
-	??1CGlxMedia@@UAE@XZ @ 89 NONAME ; CGlxMedia::~CGlxMedia(void)
-	?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 90 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
-	?IsDrmProtected@TGlxMedia@@QBEHXZ @ 91 NONAME ; int TGlxMedia::IsDrmProtected(void) const
-	??1CGlxThumbnailContext@@UAE@XZ @ 92 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
-	?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 93 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
-	?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 94 NONAME ; int TGlxMedia::GetSystemItem(int &) const
-	?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 95 NONAME ; void CGlxListWindow::RemoveObjects(int, int)
-	?Close@TGlxFetchContextRemover@@QAEXXZ @ 96 NONAME ; void TGlxFetchContextRemover::Close(void)
-	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 97 NONAME ; class CBase const * CGlxListWindow::At(int) const
-	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 98 NONAME ; class CBase * CGlxListWindow::At(int)
-	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 99 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
-	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
-	?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 101 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
-	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
-	?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 103 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
-	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 104 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
-	?Cleanup@CGlxListWindow@@QAEXXZ @ 105 NONAME ; void CGlxListWindow::Cleanup(void)
-	?GetSize@TGlxMedia@@QBEHAAI@Z @ 106 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
-	??1TGlxExclusionIterator@@QAE@XZ @ 107 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
-	??1TGlxFetchContextRemover@@QAE@XZ @ 108 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
-	?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 109 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
-	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 110 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 69 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
+	?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 70 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
+	??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 71 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
+	?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 72 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
+	?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 73 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
+	?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 74 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
+	??0TGlxSequentialIterator@@QAE@XZ @ 75 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
+	?Close@CGlxDRMUtility@@QAEXXZ @ 76 NONAME ; void CGlxDRMUtility::Close(void)
+	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 77 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
+	?SetFocusIndexL@CGlxListWindow@@QAEXHH@Z @ 78 NONAME ; void CGlxListWindow::SetFocusIndexL(int, int)
+	?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 79 NONAME ; int CGlxAttributeContext::AttributeCount(void)
+	?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 80 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
+	?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 81 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
+	?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 82 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
+	?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 83 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
+	??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 84 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
+	?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 85 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
+	?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 86 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
+	??1CGlxMedia@@UAE@XZ @ 87 NONAME ; CGlxMedia::~CGlxMedia(void)
+	?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 88 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
+	?IsDrmProtected@TGlxMedia@@QBEHXZ @ 89 NONAME ; int TGlxMedia::IsDrmProtected(void) const
+	??1CGlxThumbnailContext@@UAE@XZ @ 90 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
+	?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 91 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
+	?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 92 NONAME ; int TGlxMedia::GetSystemItem(int &) const
+	?Close@TGlxFetchContextRemover@@QAEXXZ @ 93 NONAME ; void TGlxFetchContextRemover::Close(void)
+	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 94 NONAME ; class CBase const * CGlxListWindow::At(int) const
+	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 95 NONAME ; class CBase * CGlxListWindow::At(int)
+	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 96 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
+	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 97 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
+	?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 98 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
+	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 99 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
+	?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 100 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
+	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 101 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
+	?GetSize@TGlxMedia@@QBEHAAI@Z @ 102 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
+	?SetFocusIndexL@CGlxListWindow@@QAEXH@Z @ 103 NONAME ; void CGlxListWindow::SetFocusIndexL(int)
+	??1TGlxExclusionIterator@@QAE@XZ @ 104 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
+	??1TGlxFetchContextRemover@@QAE@XZ @ 105 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 106 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int, int, int)
+	?CleanupL@CGlxListWindow@@QAEXXZ @ 107 NONAME ; void CGlxListWindow::CleanupL(void)
+	?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 108 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
+	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 109 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?AddObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 110 NONAME ; void CGlxListWindow::AddObjectsL(int, int, int, int)
 	?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 111 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const
 	?MatchById@TGlxMedia@@SAHABV1@0@Z @ 112 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &)
 	?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 113 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
--- a/photosgallery/viewframework/medialists/tsrc/BWINS/ut_glxerrormanageru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/BWINS/ut_glxerrormanageru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -17,40 +17,40 @@
 	?InstanceL@MGlxCache@@SAPAV1@XZ @ 16 NONAME ; class MGlxCache * MGlxCache::InstanceL(void)
 	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 17 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
 	?Reset@CGlxMedia@@QAEXXZ @ 18 NONAME ; void CGlxMedia::Reset(void)
-	?AddObjects@CGlxListWindow@@QAEXHHHH@Z @ 19 NONAME ; void CGlxListWindow::AddObjects(int, int, int, int)
-	??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 20 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
-	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 21 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
-	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 22 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
-	?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 23 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
-	?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 24 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
-	??1TGlxSelectionIterator@@QAE@XZ @ 25 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
-	?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 26 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
-	??0TGlxSelectionIterator@@QAE@XZ @ 27 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
-	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 28 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	??0CGlxThumbnailContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 19 NONAME ; CGlxThumbnailContext::CGlxThumbnailContext(class MGlxMediaListIterator *)
+	?SetRangeOffsetsL@CGlxListWindow@@QAEXHHHH@Z @ 20 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int, int, int)
+	??0TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 21 NONAME ; TGlxFromFocusOutwardBlockyIterator::TGlxFromFocusOutwardBlockyIterator(void)
+	?UnmarkAllL@MGlxMediaList@@SAXAAV1@@Z @ 22 NONAME ; void MGlxMediaList::UnmarkAllL(class MGlxMediaList &)
+	?IdSpaceId@TGlxMedia@@QBE?AV?$TGlxId@VTGlxIdSpaceIdBase@@@@XZ @ 23 NONAME ; class TGlxId<class TGlxIdSpaceIdBase> TGlxMedia::IdSpaceId(void) const
+	??1TGlxSelectionIterator@@QAE@XZ @ 24 NONAME ; TGlxSelectionIterator::~TGlxSelectionIterator(void)
+	?SetGranularity@CGlxAttributeContext@@QAEXI@Z @ 25 NONAME ; void CGlxAttributeContext::SetGranularity(unsigned int)
+	??0TGlxSelectionIterator@@QAE@XZ @ 26 NONAME ; TGlxSelectionIterator::TGlxSelectionIterator(void)
+	??0TGlxFromFocusOutwardIterator@@QAE@XZ @ 27 NONAME ; TGlxFromFocusOutwardIterator::TGlxFromFocusOutwardIterator(void)
+	?AddObjectsL@CGlxListWindow@@QAEXHH@Z @ 28 NONAME ; void CGlxListWindow::AddObjectsL(int, int)
 	?SubTitle@TGlxMedia@@QBEABVTDesC16@@XZ @ 29 NONAME ; class TDesC16 const & TGlxMedia::SubTitle(void) const
 	??1TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 30 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::~TGlxFromManualIndexOutwardBlockyIterator(void)
 	?GetFrameCount@TGlxMedia@@QBEHAAH@Z @ 31 NONAME ; int TGlxMedia::GetFrameCount(int &) const
 	??0TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 32 NONAME ; TGlxFromManualIndexBlockyIterator::TGlxFromManualIndexBlockyIterator(void)
 	?SetRangeOffsets@TGlxFromIndexOutwardBlockyIterator@@QAEXHH@Z @ 33 NONAME ; void TGlxFromIndexOutwardBlockyIterator::SetRangeOffsets(int, int)
-	?SetFocusIndex@CGlxListWindow@@QAEXH@Z @ 34 NONAME ; void CGlxListWindow::SetFocusIndex(int)
-	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 35 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
-	??1CGlxDefaultThumbnailContext@@UAE@XZ @ 36 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
-	?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 37 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
-	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 38 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
-	?ConstructL@CGlxListWindow@@QAEXXZ @ 39 NONAME ; void CGlxListWindow::ConstructL(void)
-	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 40 NONAME ; void TGlxSequentialIterator::SetRange(int)
-	?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 41 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
-	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 42 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
-	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 43 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
-	?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 44 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
-	?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 45 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
-	?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 46 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
-	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 47 NONAME ; void TGlxSelectionIterator::SetRange(int)
-	?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 48 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
-	?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 49 NONAME ; int TGlxMedia::GetDate(class TTime &) const
-	?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 50 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
-	?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 51 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
-	?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 52 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+	??1TGlxFromFocusOutwardBlockyIterator@@QAE@XZ @ 34 NONAME ; TGlxFromFocusOutwardBlockyIterator::~TGlxFromFocusOutwardBlockyIterator(void)
+	??1CGlxDefaultThumbnailContext@@UAE@XZ @ 35 NONAME ; CGlxDefaultThumbnailContext::~CGlxDefaultThumbnailContext(void)
+	?IsFullThumbnail@GlxThumbnailUtility@@SAHABVTMPXAttribute@@@Z @ 36 NONAME ; int GlxThumbnailUtility::IsFullThumbnail(class TMPXAttribute const &)
+	??0TGlxFromIndexOutwardBlockyIterator@@QAE@ABVMGlxIndex@0@@Z @ 37 NONAME ; TGlxFromIndexOutwardBlockyIterator::TGlxFromIndexOutwardBlockyIterator(class TGlxFromIndexOutwardBlockyIterator::MGlxIndex const &)
+	?ConstructL@CGlxListWindow@@QAEXXZ @ 38 NONAME ; void CGlxListWindow::ConstructL(void)
+	?SetRange@TGlxSequentialIterator@@QAEXH@Z @ 39 NONAME ; void TGlxSequentialIterator::SetRange(int)
+	?GetStaticItemCommand@TGlxMedia@@QBEHAAH@Z @ 40 NONAME ; int TGlxMedia::GetStaticItemCommand(int &) const
+	?SetRangeOffsets@TGlxFromManualIndexBlockyIterator@@QAEXHH@Z @ 41 NONAME ; void TGlxFromManualIndexBlockyIterator::SetRangeOffsets(int, int)
+	?SetIndex@TGlxFromManualIndexOutwardBlockyIterator@@QAEXH@Z @ 42 NONAME ; void TGlxFromManualIndexOutwardBlockyIterator::SetIndex(int)
+	?HandleModified@CGlxMedia@@QAEXABV?$RArray@VTMPXAttribute@@@@@Z @ 43 NONAME ; void CGlxMedia::HandleModified(class RArray<class TMPXAttribute> const &)
+	?GetLastModifiedDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 44 NONAME ; int TGlxMedia::GetLastModifiedDate(class TTime &) const
+	?GetContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 45 NONAME ; int TGlxMedia::GetContainedItemCount(int &) const
+	?SetRange@TGlxSelectionIterator@@QAEXH@Z @ 46 NONAME ; void TGlxSelectionIterator::SetRange(int)
+	?GetDimensions@TGlxMedia@@QBEHAAVTSize@@@Z @ 47 NONAME ; int TGlxMedia::GetDimensions(class TSize &) const
+	?GetDate@TGlxMedia@@QBEHAAVTTime@@@Z @ 48 NONAME ; int TGlxMedia::GetDate(class TTime &) const
+	?GetValueText@CGlxMedia@@QBEHAAVTPtrC16@@ABVTMPXAttribute@@@Z @ 49 NONAME ; int CGlxMedia::GetValueText(class TPtrC16 &, class TMPXAttribute const &) const
+	?SetTextValueL@CGlxMedia@@QAEXABVTMPXAttribute@@ABVTDesC16@@@Z @ 50 NONAME ; void CGlxMedia::SetTextValueL(class TMPXAttribute const &, class TDesC16 const &)
+	?SetDefaultSpec@CGlxAttributeContext@@QAEXHH@Z @ 51 NONAME ; void CGlxAttributeContext::SetDefaultSpec(int, int)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHH@Z @ 52 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int)
 	?IsStatic@TGlxMedia@@QBEHXZ @ 53 NONAME ; int TGlxMedia::IsStatic(void) const
 	??0CGlxListWindow@@QAE@AAVMGlxWindowObjectFactory@@@Z @ 54 NONAME ; CGlxListWindow::CGlxListWindow(class MGlxWindowObjectFactory &)
 	?AddSpecForItemL@CGlxThumbnailContext@@QAEXHHH@Z @ 55 NONAME ; void CGlxThumbnailContext::AddSpecForItemL(int, int, int)
@@ -67,48 +67,48 @@
 	?DeleteAttribute@CGlxMedia@@QAEXABVTMPXAttribute@@@Z @ 66 NONAME ; void CGlxMedia::DeleteAttribute(class TMPXAttribute const &)
 	?InstanceL@MGlxMediaList@@SAPAV1@ABVCMPXCollectionPath@@ABV?$TGlxId@VTGlxIdHierarchyBase@@@@PAVCMPXMedia@@@Z @ 67 NONAME ; class MGlxMediaList * MGlxMediaList::InstanceL(class CMPXCollectionPath const &, class TGlxId<class TGlxIdHierarchyBase> const &, class CMPXMedia *)
 	?SetCObjectValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAVCBase@@@Z @ 68 NONAME ; void CGlxMedia::SetCObjectValueL(class TMPXAttribute const &, class CBase *)
-	?RemoveObjects@CGlxListWindow@@QAEXHHHH@Z @ 69 NONAME ; void CGlxListWindow::RemoveObjects(int, int, int, int)
-	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 70 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
-	?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 71 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
-	??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 72 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
-	?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 73 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
-	?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 74 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
-	?AddObjects@CGlxListWindow@@QAEXHH@Z @ 75 NONAME ; void CGlxListWindow::AddObjects(int, int)
-	?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 76 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
-	??0TGlxSequentialIterator@@QAE@XZ @ 77 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
-	?Close@CGlxDRMUtility@@QAEXXZ @ 78 NONAME ; void CGlxDRMUtility::Close(void)
-	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 79 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
-	?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 80 NONAME ; int CGlxAttributeContext::AttributeCount(void)
-	?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 81 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
-	?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 82 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
-	?SetFocusIndex@CGlxListWindow@@QAEXHH@Z @ 83 NONAME ; void CGlxListWindow::SetFocusIndex(int, int)
-	?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 84 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
-	?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 85 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
-	??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 86 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
-	?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 87 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
-	?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 88 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
-	??1CGlxMedia@@UAE@XZ @ 89 NONAME ; CGlxMedia::~CGlxMedia(void)
-	?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 90 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
-	?IsDrmProtected@TGlxMedia@@QBEHXZ @ 91 NONAME ; int TGlxMedia::IsDrmProtected(void) const
-	??1CGlxThumbnailContext@@UAE@XZ @ 92 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
-	?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 93 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
-	?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 94 NONAME ; int TGlxMedia::GetSystemItem(int &) const
-	?RemoveObjects@CGlxListWindow@@QAEXHH@Z @ 95 NONAME ; void CGlxListWindow::RemoveObjects(int, int)
-	?Close@TGlxFetchContextRemover@@QAEXXZ @ 96 NONAME ; void TGlxFetchContextRemover::Close(void)
-	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 97 NONAME ; class CBase const * CGlxListWindow::At(int) const
-	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 98 NONAME ; class CBase * CGlxListWindow::At(int)
-	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 99 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
-	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 100 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
-	?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 101 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
-	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 102 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
-	?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 103 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
-	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 104 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
-	?Cleanup@CGlxListWindow@@QAEXXZ @ 105 NONAME ; void CGlxListWindow::Cleanup(void)
-	?GetSize@TGlxMedia@@QBEHAAI@Z @ 106 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
-	??1TGlxExclusionIterator@@QAE@XZ @ 107 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
-	??1TGlxFetchContextRemover@@QAE@XZ @ 108 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
-	?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 109 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
-	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 110 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?Iterator@CGlxListWindow@@QBE?AVTGlxWindowIterator@@XZ @ 69 NONAME ; class TGlxWindowIterator CGlxListWindow::Iterator(void) const
+	?Category@TGlxMedia@@QBE?AW4TMPXGeneralCategory@@XZ @ 70 NONAME ; enum TMPXGeneralCategory TGlxMedia::Category(void) const
+	??0CGlxAttributeContext@@QAE@PAVMGlxMediaListIterator@@@Z @ 71 NONAME ; CGlxAttributeContext::CGlxAttributeContext(class MGlxMediaListIterator *)
+	?GetIconInfo@TGlxMedia@@QBEHAAUTIconInfo@@@Z @ 72 NONAME ; int TGlxMedia::GetIconInfo(struct TIconInfo &) const
+	?__DbgTestInvariant@CGlxItemList@@QBEXXZ @ 73 NONAME ; void CGlxItemList::__DbgTestInvariant(void) const
+	?Comment@TGlxMedia@@QBEABVTDesC16@@XZ @ 74 NONAME ; class TDesC16 const & TGlxMedia::Comment(void) const
+	??0TGlxSequentialIterator@@QAE@XZ @ 75 NONAME ; TGlxSequentialIterator::TGlxSequentialIterator(void)
+	?Close@CGlxDRMUtility@@QAEXXZ @ 76 NONAME ; void CGlxDRMUtility::Close(void)
+	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@ABVTMPXAttribute@@@Z @ 77 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, class TMPXAttribute const &)
+	?SetFocusIndexL@CGlxListWindow@@QAEXHH@Z @ 78 NONAME ; void CGlxListWindow::SetFocusIndexL(int, int)
+	?AttributeCount@CGlxAttributeContext@@QAEHXZ @ 79 NONAME ; int CGlxAttributeContext::AttributeCount(void)
+	?GetDrmValidity@TGlxMedia@@QBEHAAW4TGlxMediaGeneralRightsValidity@@@Z @ 80 NONAME ; int TGlxMedia::GetDrmValidity(enum TGlxMediaGeneralRightsValidity &) const
+	?__DbgTestInvariant@CGlxNavigableList@@QBEXXZ @ 81 NONAME ; void CGlxNavigableList::__DbgTestInvariant(void) const
+	?SetValueL@CGlxMedia@@QAEXABVTMPXAttribute@@PAXW4TMPXAttributeType@@@Z @ 82 NONAME ; void CGlxMedia::SetValueL(class TMPXAttribute const &, void *, enum TMPXAttributeType)
+	?ValueText@CGlxMedia@@QBEABVTDesC16@@ABVTMPXAttribute@@@Z @ 83 NONAME ; class TDesC16 const & CGlxMedia::ValueText(class TMPXAttribute const &) const
+	??0CGlxMedia@@QAE@ABVTGlxMediaId@@@Z @ 84 NONAME ; CGlxMedia::CGlxMedia(class TGlxMediaId const &)
+	?DeleteLocationAttribute@TGlxMedia@@QAEXXZ @ 85 NONAME ; void TGlxMedia::DeleteLocationAttribute(void)
+	?GetClosestThumbnail@TGlxMedia@@QBEHAAVTMPXAttribute@@ABVTSize@@H@Z @ 86 NONAME ; int TGlxMedia::GetClosestThumbnail(class TMPXAttribute &, class TSize const &, int) const
+	??1CGlxMedia@@UAE@XZ @ 87 NONAME ; CGlxMedia::~CGlxMedia(void)
+	?__DbgTestInvariant@CGlxMedia@@QBEXXZ @ 88 NONAME ; void CGlxMedia::__DbgTestInvariant(void) const
+	?IsDrmProtected@TGlxMedia@@QBEHXZ @ 89 NONAME ; int TGlxMedia::IsDrmProtected(void) const
+	??1CGlxThumbnailContext@@UAE@XZ @ 90 NONAME ; CGlxThumbnailContext::~CGlxThumbnailContext(void)
+	?GetDrmProtected@TGlxMedia@@QBEHAAH@Z @ 91 NONAME ; int TGlxMedia::GetDrmProtected(int &) const
+	?GetSystemItem@TGlxMedia@@QBEHAAH@Z @ 92 NONAME ; int TGlxMedia::GetSystemItem(int &) const
+	?Close@TGlxFetchContextRemover@@QAEXXZ @ 93 NONAME ; void TGlxFetchContextRemover::Close(void)
+	?At@CGlxListWindow@@QBEPBVCBase@@H@Z @ 94 NONAME ; class CBase const * CGlxListWindow::At(int) const
+	?At@CGlxListWindow@@QAEPAVCBase@@H@Z @ 95 NONAME ; class CBase * CGlxListWindow::At(int)
+	?HasAttributeErrorL@GlxErrorManager@@SAHPBVCGlxMedia@@H@Z @ 96 NONAME ; int GlxErrorManager::HasAttributeErrorL(class CGlxMedia const *, int)
+	??1TGlxFromManualIndexBlockyIterator@@QAE@XZ @ 97 NONAME ; TGlxFromManualIndexBlockyIterator::~TGlxFromManualIndexBlockyIterator(void)
+	?RemoveAttribute@CGlxAttributeContext@@QAEXABVTMPXAttribute@@@Z @ 98 NONAME ; void CGlxAttributeContext::RemoveAttribute(class TMPXAttribute const &)
+	??1TGlxFromIndexOutwardBlockyIterator@@QAE@XZ @ 99 NONAME ; TGlxFromIndexOutwardBlockyIterator::~TGlxFromIndexOutwardBlockyIterator(void)
+	?ClosestThumbnail@GlxThumbnailUtility@@SAHABVTSize@@ABVCGlxMedia@@H@Z @ 100 NONAME ; int GlxThumbnailUtility::ClosestThumbnail(class TSize const &, class CGlxMedia const &, int)
+	??0TGlxFromManualIndexOutwardBlockyIterator@@QAE@XZ @ 101 NONAME ; TGlxFromManualIndexOutwardBlockyIterator::TGlxFromManualIndexOutwardBlockyIterator(void)
+	?GetSize@TGlxMedia@@QBEHAAI@Z @ 102 NONAME ; int TGlxMedia::GetSize(unsigned int &) const
+	?SetFocusIndexL@CGlxListWindow@@QAEXH@Z @ 103 NONAME ; void CGlxListWindow::SetFocusIndexL(int)
+	??1TGlxExclusionIterator@@QAE@XZ @ 104 NONAME ; TGlxExclusionIterator::~TGlxExclusionIterator(void)
+	??1TGlxFetchContextRemover@@QAE@XZ @ 105 NONAME ; TGlxFetchContextRemover::~TGlxFetchContextRemover(void)
+	?RemoveObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 106 NONAME ; void CGlxListWindow::RemoveObjectsL(int, int, int, int)
+	?CleanupL@CGlxListWindow@@QAEXXZ @ 107 NONAME ; void CGlxListWindow::CleanupL(void)
+	?SetDefaultSpec@CGlxThumbnailContext@@QAEXHH@Z @ 108 NONAME ; void CGlxThumbnailContext::SetDefaultSpec(int, int)
+	??0TGlxSpecificIdIterator@@QAE@ABV?$TGlxId@VTGlxIdSpaceIdBase@@@@VTGlxMediaId@@@Z @ 109 NONAME ; TGlxSpecificIdIterator::TGlxSpecificIdIterator(class TGlxId<class TGlxIdSpaceIdBase> const &, class TGlxMediaId)
+	?AddObjectsL@CGlxListWindow@@QAEXHHHH@Z @ 110 NONAME ; void CGlxListWindow::AddObjectsL(int, int, int, int)
 	?GetSlideshowPlayableContainedItemCount@TGlxMedia@@QBEHAAH@Z @ 111 NONAME ; int TGlxMedia::GetSlideshowPlayableContainedItemCount(int &) const
 	?MatchById@TGlxMedia@@SAHABV1@0@Z @ 112 NONAME ; int TGlxMedia::MatchById(class TGlxMedia const &, class TGlxMedia const &)
 	?SetRangeOffsetsL@CGlxListWindow@@QAEXHH@Z @ 113 NONAME ; void CGlxListWindow::SetRangeOffsetsL(int, int)
--- a/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxcacheu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxcacheu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -15,45 +15,49 @@
 	_ZN9CGlxMediaD2Ev @ 14 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 15 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 16 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 17 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 18 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 19 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 20 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 21 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 22 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 23 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 24 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 25 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 26 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 27 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 28 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 29 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 30 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 31 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 32 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 33 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 34 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 35 NONAME
-	_ZNK9TGlxMedia3UriEv @ 36 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 37 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 38 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 40 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 41 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 42 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 44 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 45 NONAME
-	_ZTI13CGlxMediaList @ 46 NONAME
-	_ZTI15CGlxImageReader @ 47 NONAME
-	_ZTI16CGlxCacheManager @ 48 NONAME
-	_ZTI20CGlxGarbageCollector @ 49 NONAME
-	_ZTIN11T_CGlxCache17CGlxMediaUserTestE @ 50 NONAME
-	_ZTIN11T_CGlxCache21CGlxCacheObserverTestE @ 51 NONAME
-	_ZTV13CGlxMediaList @ 52 NONAME
-	_ZTV15CGlxImageReader @ 53 NONAME
-	_ZTV16CGlxCacheManager @ 54 NONAME
-	_ZTV20CGlxGarbageCollector @ 55 NONAME
-	_ZTVN11T_CGlxCache17CGlxMediaUserTestE @ 56 NONAME
-	_ZTVN11T_CGlxCache21CGlxCacheObserverTestE @ 57 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 17 NONAME
+	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 18 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 19 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 20 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 21 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 22 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 23 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 24 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 25 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 26 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 27 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 28 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 29 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 30 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 31 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 32 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 33 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 34 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 35 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 36 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 37 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 38 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 39 NONAME
+	_ZNK9TGlxMedia3UriEv @ 40 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 41 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 42 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 43 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 44 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 45 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 46 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 47 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 48 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 49 NONAME
+	_ZTI13CGlxMediaList @ 50 NONAME
+	_ZTI15CGlxImageReader @ 51 NONAME
+	_ZTI16CGlxCacheManager @ 52 NONAME
+	_ZTI20CGlxGarbageCollector @ 53 NONAME
+	_ZTIN11T_CGlxCache17CGlxMediaUserTestE @ 54 NONAME
+	_ZTIN11T_CGlxCache21CGlxCacheObserverTestE @ 55 NONAME
+	_ZTV13CGlxMediaList @ 56 NONAME
+	_ZTV15CGlxImageReader @ 57 NONAME
+	_ZTV16CGlxCacheManager @ 58 NONAME
+	_ZTV20CGlxGarbageCollector @ 59 NONAME
+	_ZTVN11T_CGlxCache17CGlxMediaUserTestE @ 60 NONAME
+	_ZTVN11T_CGlxCache21CGlxCacheObserverTestE @ 61 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxgarbagecollectoru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxgarbagecollectoru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -25,47 +25,51 @@
 	_ZN9CGlxMediaD2Ev @ 24 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 25 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 26 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 27 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 28 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 29 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 30 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 31 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 32 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 33 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 34 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 35 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 36 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 37 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 38 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 39 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 40 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 41 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 42 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 43 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 44 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 45 NONAME
-	_ZNK9TGlxMedia3UriEv @ 46 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 47 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 48 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 49 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 50 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 51 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 52 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 53 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 54 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 55 NONAME
-	_ZTI13CGlxMediaList @ 56 NONAME
-	_ZTI15CGlxImageReader @ 57 NONAME
-	_ZTI16CGlxCacheManager @ 58 NONAME
-	_ZTI20CGlxGarbageCollector @ 59 NONAME
-	_ZTI5CIdle @ 60 NONAME
-	_ZTIN22T_CGlxGarbageCollector10CTimerTestE @ 61 NONAME
-	_ZTIN22T_CGlxGarbageCollector17CGlxMediaUserTestE @ 62 NONAME
-	_ZTV13CGlxMediaList @ 63 NONAME
-	_ZTV15CGlxImageReader @ 64 NONAME
-	_ZTV16CGlxCacheManager @ 65 NONAME
-	_ZTV20CGlxGarbageCollector @ 66 NONAME
-	_ZTV5CIdle @ 67 NONAME
-	_ZTVN22T_CGlxGarbageCollector10CTimerTestE @ 68 NONAME
-	_ZTVN22T_CGlxGarbageCollector17CGlxMediaUserTestE @ 69 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 27 NONAME
+	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 28 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 29 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 30 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 31 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 32 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 33 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 34 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 35 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 36 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 37 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 38 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 39 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 40 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 41 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 42 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 43 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 44 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 45 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 46 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 47 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 48 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 49 NONAME
+	_ZNK9TGlxMedia3UriEv @ 50 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 51 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 52 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 53 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 54 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 55 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 56 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 57 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 58 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 59 NONAME
+	_ZTI13CGlxMediaList @ 60 NONAME
+	_ZTI15CGlxImageReader @ 61 NONAME
+	_ZTI16CGlxCacheManager @ 62 NONAME
+	_ZTI20CGlxGarbageCollector @ 63 NONAME
+	_ZTI5CIdle @ 64 NONAME
+	_ZTIN22T_CGlxGarbageCollector10CTimerTestE @ 65 NONAME
+	_ZTIN22T_CGlxGarbageCollector17CGlxMediaUserTestE @ 66 NONAME
+	_ZTV13CGlxMediaList @ 67 NONAME
+	_ZTV15CGlxImageReader @ 68 NONAME
+	_ZTV16CGlxCacheManager @ 69 NONAME
+	_ZTV20CGlxGarbageCollector @ 70 NONAME
+	_ZTV5CIdle @ 71 NONAME
+	_ZTVN22T_CGlxGarbageCollector10CTimerTestE @ 72 NONAME
+	_ZTVN22T_CGlxGarbageCollector17CGlxMediaUserTestE @ 73 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxmediau.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_cglxmediau.def	Mon Jun 21 15:40:32 2010 +0300
@@ -15,31 +15,32 @@
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 14 NONAME
 	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 15 NONAME
 	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 16 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 17 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 18 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 19 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 20 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 21 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 22 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 23 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 24 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 25 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 26 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 27 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 28 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 29 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 30 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 31 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 32 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 33 NONAME
-	_ZNK9TGlxMedia3UriEv @ 34 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 35 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 36 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 37 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 38 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 39 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 40 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 41 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 42 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 43 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 17 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 18 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 19 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 20 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 21 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 22 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 23 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 24 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 25 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 26 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 27 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 28 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 29 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 30 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 31 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 32 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 33 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 34 NONAME
+	_ZNK9TGlxMedia3UriEv @ 35 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 36 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 37 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 38 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 39 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 40 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 41 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 42 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 43 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 44 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/t_glxlistwindowu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_glxlistwindowu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -1,16 +1,16 @@
 EXPORTS
 	_Z16CreateTestSuiteLv @ 1 NONAME
-	_ZN14CGlxListWindow10AddObjectsEii @ 2 NONAME
-	_ZN14CGlxListWindow10AddObjectsEiiii @ 3 NONAME
-	_ZN14CGlxListWindow10ConstructLEv @ 4 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEii @ 5 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEiiii @ 6 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEi @ 7 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEii @ 8 NONAME
+	_ZN14CGlxListWindow10ConstructLEv @ 2 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEii @ 3 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEiiii @ 4 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEii @ 5 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEiiii @ 6 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEi @ 7 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEii @ 8 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEii @ 9 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEiiii @ 10 NONAME
 	_ZN14CGlxListWindow2AtEi @ 11 NONAME
-	_ZN14CGlxListWindow7CleanupEv @ 12 NONAME
+	_ZN14CGlxListWindow8CleanupLEv @ 12 NONAME
 	_ZN14CGlxListWindowC1ER23MGlxWindowObjectFactory @ 13 NONAME
 	_ZN14CGlxListWindowC2ER23MGlxWindowObjectFactory @ 14 NONAME
 	_ZN14CGlxListWindowD0Ev @ 15 NONAME
@@ -19,8 +19,9 @@
 	_ZN18TGlxWindowIteratorC1ERKS_ @ 18 NONAME
 	_ZN18TGlxWindowIteratorC2ERKS_ @ 19 NONAME
 	_ZN18TGlxWindowIteratorppEi @ 20 NONAME
-	_ZNK14CGlxListWindow2AtEi @ 21 NONAME
-	_ZNK14CGlxListWindow8IteratorEv @ 22 NONAME
-	_ZTI14CGlxListWindow @ 23 NONAME
-	_ZTV14CGlxListWindow @ 24 NONAME
+	_ZNK14CGlxListWindow18__DbgTestInvariantEv @ 21 NONAME
+	_ZNK14CGlxListWindow2AtEi @ 22 NONAME
+	_ZNK14CGlxListWindow8IteratorEv @ 23 NONAME
+	_ZTI14CGlxListWindow @ 24 NONAME
+	_ZTV14CGlxListWindow @ 25 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/t_tglxexclusioniteratoru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/t_tglxexclusioniteratoru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -1,16 +1,16 @@
 EXPORTS
 	_Z16CreateTestSuiteLv @ 1 NONAME
-	_ZN14CGlxListWindow10AddObjectsEii @ 2 NONAME
-	_ZN14CGlxListWindow10AddObjectsEiiii @ 3 NONAME
-	_ZN14CGlxListWindow10ConstructLEv @ 4 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEii @ 5 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEiiii @ 6 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEi @ 7 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEii @ 8 NONAME
+	_ZN14CGlxListWindow10ConstructLEv @ 2 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEii @ 3 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEiiii @ 4 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEii @ 5 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEiiii @ 6 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEi @ 7 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEii @ 8 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEii @ 9 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEiiii @ 10 NONAME
 	_ZN14CGlxListWindow2AtEi @ 11 NONAME
-	_ZN14CGlxListWindow7CleanupEv @ 12 NONAME
+	_ZN14CGlxListWindow8CleanupLEv @ 12 NONAME
 	_ZN14CGlxListWindowC1ER23MGlxWindowObjectFactory @ 13 NONAME
 	_ZN14CGlxListWindowC2ER23MGlxWindowObjectFactory @ 14 NONAME
 	_ZN14CGlxListWindowD0Ev @ 15 NONAME
@@ -65,29 +65,30 @@
 	_ZN40TGlxFromManualIndexOutwardBlockyIteratorC2Ev @ 64 NONAME
 	_ZN40TGlxFromManualIndexOutwardBlockyIteratorD1Ev @ 65 NONAME
 	_ZN40TGlxFromManualIndexOutwardBlockyIteratorD2Ev @ 66 NONAME
-	_ZNK14CGlxListWindow2AtEi @ 67 NONAME
-	_ZNK14CGlxListWindow8IteratorEv @ 68 NONAME
-	_ZNK21TGlxSelectionIterator7InRangeEi @ 69 NONAME
-	_ZTI14CGlxListWindow @ 70 NONAME
-	_ZTI21TGlxExclusionIterator @ 71 NONAME
-	_ZTI21TGlxSelectionIterator @ 72 NONAME
-	_ZTI22TGlxSequentialIterator @ 73 NONAME
-	_ZTI22TGlxSpecificIdIterator @ 74 NONAME
-	_ZTI25TGlxFirstThenLastIterator @ 75 NONAME
-	_ZTI28TGlxFromFocusOutwardIterator @ 76 NONAME
-	_ZTI33TGlxFromManualIndexBlockyIterator @ 77 NONAME
-	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 78 NONAME
-	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 79 NONAME
-	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 80 NONAME
-	_ZTV14CGlxListWindow @ 81 NONAME
-	_ZTV21TGlxExclusionIterator @ 82 NONAME
-	_ZTV21TGlxSelectionIterator @ 83 NONAME
-	_ZTV22TGlxSequentialIterator @ 84 NONAME
-	_ZTV22TGlxSpecificIdIterator @ 85 NONAME
-	_ZTV25TGlxFirstThenLastIterator @ 86 NONAME
-	_ZTV28TGlxFromFocusOutwardIterator @ 87 NONAME
-	_ZTV33TGlxFromManualIndexBlockyIterator @ 88 NONAME
-	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 89 NONAME
-	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 90 NONAME
-	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 91 NONAME
+	_ZNK14CGlxListWindow18__DbgTestInvariantEv @ 67 NONAME
+	_ZNK14CGlxListWindow2AtEi @ 68 NONAME
+	_ZNK14CGlxListWindow8IteratorEv @ 69 NONAME
+	_ZNK21TGlxSelectionIterator7InRangeEi @ 70 NONAME
+	_ZTI14CGlxListWindow @ 71 NONAME
+	_ZTI21TGlxExclusionIterator @ 72 NONAME
+	_ZTI21TGlxSelectionIterator @ 73 NONAME
+	_ZTI22TGlxSequentialIterator @ 74 NONAME
+	_ZTI22TGlxSpecificIdIterator @ 75 NONAME
+	_ZTI25TGlxFirstThenLastIterator @ 76 NONAME
+	_ZTI28TGlxFromFocusOutwardIterator @ 77 NONAME
+	_ZTI33TGlxFromManualIndexBlockyIterator @ 78 NONAME
+	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 79 NONAME
+	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 80 NONAME
+	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 81 NONAME
+	_ZTV14CGlxListWindow @ 82 NONAME
+	_ZTV21TGlxExclusionIterator @ 83 NONAME
+	_ZTV21TGlxSelectionIterator @ 84 NONAME
+	_ZTV22TGlxSequentialIterator @ 85 NONAME
+	_ZTV22TGlxSpecificIdIterator @ 86 NONAME
+	_ZTV25TGlxFirstThenLastIterator @ 87 NONAME
+	_ZTV28TGlxFromFocusOutwardIterator @ 88 NONAME
+	_ZTV33TGlxFromManualIndexBlockyIterator @ 89 NONAME
+	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 90 NONAME
+	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 91 NONAME
+	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 92 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxattributecontextu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxattributecontextu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -2,17 +2,17 @@
 	_Z16CreateTestSuiteLv @ 1 NONAME
 	_ZN13MGlxMediaList10UnmarkAllLERS_ @ 2 NONAME
 	_ZN13MGlxMediaList9InstanceLERK18CMPXCollectionPathRK6TGlxIdI19TGlxIdHierarchyBaseEP9CMPXMedia @ 3 NONAME
-	_ZN14CGlxListWindow10AddObjectsEii @ 4 NONAME
-	_ZN14CGlxListWindow10AddObjectsEiiii @ 5 NONAME
-	_ZN14CGlxListWindow10ConstructLEv @ 6 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEii @ 7 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEiiii @ 8 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEi @ 9 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEii @ 10 NONAME
+	_ZN14CGlxListWindow10ConstructLEv @ 4 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEii @ 5 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEiiii @ 6 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEii @ 7 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEiiii @ 8 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEi @ 9 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEii @ 10 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEii @ 11 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEiiii @ 12 NONAME
 	_ZN14CGlxListWindow2AtEi @ 13 NONAME
-	_ZN14CGlxListWindow7CleanupEv @ 14 NONAME
+	_ZN14CGlxListWindow8CleanupLEv @ 14 NONAME
 	_ZN14CGlxListWindowC1ER23MGlxWindowObjectFactory @ 15 NONAME
 	_ZN14CGlxListWindowC2ER23MGlxWindowObjectFactory @ 16 NONAME
 	_ZN14CGlxListWindowD0Ev @ 17 NONAME
@@ -119,76 +119,81 @@
 	_ZN9MGlxCache9InstanceLEv @ 118 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 119 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 120 NONAME
-	_ZNK14CGlxListWindow2AtEi @ 121 NONAME
-	_ZNK14CGlxListWindow8IteratorEv @ 122 NONAME
-	_ZNK21TGlxSelectionIterator7InRangeEi @ 123 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 124 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 125 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 126 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 127 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 128 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 129 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 130 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 131 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 132 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 133 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 134 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 135 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 136 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 137 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 138 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 139 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 140 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 141 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 142 NONAME
-	_ZNK9TGlxMedia3UriEv @ 143 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 144 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 145 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 146 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 147 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 148 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 149 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 150 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 151 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 152 NONAME
-	_ZTI13CGlxMediaList @ 153 NONAME
-	_ZTI14CGlxListWindow @ 154 NONAME
-	_ZTI15CGlxImageReader @ 155 NONAME
-	_ZTI16CGlxCacheManager @ 156 NONAME
-	_ZTI20CGlxAttributeContext @ 157 NONAME
-	_ZTI20CGlxGarbageCollector @ 158 NONAME
-	_ZTI20CGlxThumbnailContext @ 159 NONAME
-	_ZTI21TGlxExclusionIterator @ 160 NONAME
-	_ZTI21TGlxSelectionIterator @ 161 NONAME
-	_ZTI22TGlxSequentialIterator @ 162 NONAME
-	_ZTI22TGlxSpecificIdIterator @ 163 NONAME
-	_ZTI25TGlxFirstThenLastIterator @ 164 NONAME
-	_ZTI27CGlxDefaultAttributeContext @ 165 NONAME
-	_ZTI27CGlxDefaultThumbnailContext @ 166 NONAME
-	_ZTI28TGlxFromFocusOutwardIterator @ 167 NONAME
-	_ZTI33TGlxFromManualIndexBlockyIterator @ 168 NONAME
-	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 169 NONAME
-	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 170 NONAME
-	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 171 NONAME
-	_ZTIN23UT_CGlxAttributeContext17CGlxMediaListTestE @ 172 NONAME
-	_ZTV13CGlxMediaList @ 173 NONAME
-	_ZTV14CGlxListWindow @ 174 NONAME
-	_ZTV15CGlxImageReader @ 175 NONAME
-	_ZTV16CGlxCacheManager @ 176 NONAME
-	_ZTV20CGlxAttributeContext @ 177 NONAME
-	_ZTV20CGlxGarbageCollector @ 178 NONAME
-	_ZTV20CGlxThumbnailContext @ 179 NONAME
-	_ZTV21TGlxExclusionIterator @ 180 NONAME
-	_ZTV21TGlxSelectionIterator @ 181 NONAME
-	_ZTV22TGlxSequentialIterator @ 182 NONAME
-	_ZTV22TGlxSpecificIdIterator @ 183 NONAME
-	_ZTV25TGlxFirstThenLastIterator @ 184 NONAME
-	_ZTV27CGlxDefaultAttributeContext @ 185 NONAME
-	_ZTV27CGlxDefaultThumbnailContext @ 186 NONAME
-	_ZTV28TGlxFromFocusOutwardIterator @ 187 NONAME
-	_ZTV33TGlxFromManualIndexBlockyIterator @ 188 NONAME
-	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 189 NONAME
-	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 190 NONAME
-	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 191 NONAME
-	_ZTVN23UT_CGlxAttributeContext17CGlxMediaListTestE @ 192 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 121 NONAME
+	_ZNK14CGlxListWindow18__DbgTestInvariantEv @ 122 NONAME
+	_ZNK14CGlxListWindow2AtEi @ 123 NONAME
+	_ZNK14CGlxListWindow8IteratorEv @ 124 NONAME
+	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 125 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 126 NONAME
+	_ZNK21TGlxSelectionIterator7InRangeEi @ 127 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 128 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 129 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 130 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 131 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 132 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 133 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 134 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 135 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 136 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 137 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 138 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 139 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 140 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 141 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 142 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 143 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 144 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 145 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 146 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 147 NONAME
+	_ZNK9TGlxMedia3UriEv @ 148 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 149 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 150 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 151 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 152 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 153 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 154 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 155 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 156 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 157 NONAME
+	_ZTI13CGlxMediaList @ 158 NONAME
+	_ZTI14CGlxListWindow @ 159 NONAME
+	_ZTI15CGlxImageReader @ 160 NONAME
+	_ZTI16CGlxCacheManager @ 161 NONAME
+	_ZTI20CGlxAttributeContext @ 162 NONAME
+	_ZTI20CGlxGarbageCollector @ 163 NONAME
+	_ZTI20CGlxThumbnailContext @ 164 NONAME
+	_ZTI21TGlxExclusionIterator @ 165 NONAME
+	_ZTI21TGlxSelectionIterator @ 166 NONAME
+	_ZTI22TGlxSequentialIterator @ 167 NONAME
+	_ZTI22TGlxSpecificIdIterator @ 168 NONAME
+	_ZTI25TGlxFirstThenLastIterator @ 169 NONAME
+	_ZTI27CGlxDefaultAttributeContext @ 170 NONAME
+	_ZTI27CGlxDefaultThumbnailContext @ 171 NONAME
+	_ZTI28TGlxFromFocusOutwardIterator @ 172 NONAME
+	_ZTI33TGlxFromManualIndexBlockyIterator @ 173 NONAME
+	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 174 NONAME
+	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 175 NONAME
+	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 176 NONAME
+	_ZTIN23UT_CGlxAttributeContext17CGlxMediaListTestE @ 177 NONAME
+	_ZTV13CGlxMediaList @ 178 NONAME
+	_ZTV14CGlxListWindow @ 179 NONAME
+	_ZTV15CGlxImageReader @ 180 NONAME
+	_ZTV16CGlxCacheManager @ 181 NONAME
+	_ZTV20CGlxAttributeContext @ 182 NONAME
+	_ZTV20CGlxGarbageCollector @ 183 NONAME
+	_ZTV20CGlxThumbnailContext @ 184 NONAME
+	_ZTV21TGlxExclusionIterator @ 185 NONAME
+	_ZTV21TGlxSelectionIterator @ 186 NONAME
+	_ZTV22TGlxSequentialIterator @ 187 NONAME
+	_ZTV22TGlxSpecificIdIterator @ 188 NONAME
+	_ZTV25TGlxFirstThenLastIterator @ 189 NONAME
+	_ZTV27CGlxDefaultAttributeContext @ 190 NONAME
+	_ZTV27CGlxDefaultThumbnailContext @ 191 NONAME
+	_ZTV28TGlxFromFocusOutwardIterator @ 192 NONAME
+	_ZTV33TGlxFromManualIndexBlockyIterator @ 193 NONAME
+	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 194 NONAME
+	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 195 NONAME
+	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 196 NONAME
+	_ZTVN23UT_CGlxAttributeContext17CGlxMediaListTestE @ 197 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxitemlistu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxitemlistu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -15,37 +15,39 @@
 	_ZN9CGlxMediaD2Ev @ 14 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 15 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 16 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 17 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 18 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 19 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 20 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 21 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 22 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 23 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 24 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 25 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 26 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 27 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 28 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 29 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 30 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 31 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 32 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 33 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 34 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 35 NONAME
-	_ZNK9TGlxMedia3UriEv @ 36 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 37 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 38 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 40 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 41 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 42 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 44 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 45 NONAME
-	_ZTI16CGlxListTestBaseI12CGlxItemList26CGlxItemListReconstructionE @ 46 NONAME
-	_ZTI26CGlxListReconstructionBase @ 47 NONAME
-	_ZTV16CGlxListTestBaseI12CGlxItemList26CGlxItemListReconstructionE @ 48 NONAME
-	_ZTV26CGlxListReconstructionBase @ 49 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 17 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 18 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 19 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 20 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 21 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 22 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 23 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 24 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 25 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 26 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 27 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 28 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 29 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 30 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 31 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 32 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 33 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 34 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 35 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 36 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 37 NONAME
+	_ZNK9TGlxMedia3UriEv @ 38 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 39 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 40 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 41 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 42 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 43 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 44 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 45 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 46 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 47 NONAME
+	_ZTI16CGlxListTestBaseI12CGlxItemList26CGlxItemListReconstructionE @ 48 NONAME
+	_ZTI26CGlxListReconstructionBase @ 49 NONAME
+	_ZTV16CGlxListTestBaseI12CGlxItemList26CGlxItemListReconstructionE @ 50 NONAME
+	_ZTV26CGlxListReconstructionBase @ 51 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxnavigablelistu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxnavigablelistu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -15,37 +15,41 @@
 	_ZN9CGlxMediaD2Ev @ 14 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 15 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 16 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 17 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 18 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 19 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 20 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 21 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 22 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 23 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 24 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 25 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 26 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 27 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 28 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 29 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 30 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 31 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 32 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 33 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 34 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 35 NONAME
-	_ZNK9TGlxMedia3UriEv @ 36 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 37 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 38 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 40 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 41 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 42 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 44 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 45 NONAME
-	_ZTI16CGlxListTestBaseI17CGlxNavigableList31CGlxNavigableListReconstructionE @ 46 NONAME
-	_ZTI26CGlxListReconstructionBase @ 47 NONAME
-	_ZTV16CGlxListTestBaseI17CGlxNavigableList31CGlxNavigableListReconstructionE @ 48 NONAME
-	_ZTV26CGlxListReconstructionBase @ 49 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 17 NONAME
+	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 18 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 19 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 20 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 21 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 22 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 23 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 24 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 25 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 26 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 27 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 28 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 29 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 30 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 31 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 32 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 33 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 34 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 35 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 36 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 37 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 38 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 39 NONAME
+	_ZNK9TGlxMedia3UriEv @ 40 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 41 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 42 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 43 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 44 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 45 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 46 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 47 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 48 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 49 NONAME
+	_ZTI16CGlxListTestBaseI17CGlxNavigableList31CGlxNavigableListReconstructionE @ 50 NONAME
+	_ZTI26CGlxListReconstructionBase @ 51 NONAME
+	_ZTV16CGlxListTestBaseI17CGlxNavigableList31CGlxNavigableListReconstructionE @ 52 NONAME
+	_ZTV26CGlxListReconstructionBase @ 53 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxstaticitemlistu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_cglxstaticitemlistu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -15,37 +15,40 @@
 	_ZN9CGlxMediaD2Ev @ 14 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 15 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 16 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 17 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 18 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 19 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 20 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 21 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 22 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 23 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 24 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 25 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 26 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 27 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 28 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 29 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 30 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 31 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 32 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 33 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 34 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 35 NONAME
-	_ZNK9TGlxMedia3UriEv @ 36 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 37 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 38 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 39 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 40 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 41 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 42 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 43 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 44 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 45 NONAME
-	_ZTI16CGlxListTestBaseI18CGlxStaticItemList32CGlxStaticItemListReconstructionE @ 46 NONAME
-	_ZTI26CGlxListReconstructionBase @ 47 NONAME
-	_ZTV16CGlxListTestBaseI18CGlxStaticItemList32CGlxStaticItemListReconstructionE @ 48 NONAME
-	_ZTV26CGlxListReconstructionBase @ 49 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 17 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 18 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 19 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 20 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 21 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 22 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 23 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 24 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 25 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 26 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 27 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 28 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 29 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 30 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 31 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 32 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 33 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 34 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 35 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 36 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 37 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 38 NONAME
+	_ZNK9TGlxMedia3UriEv @ 39 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 40 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 41 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 42 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 43 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 44 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 45 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 46 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 47 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 48 NONAME
+	_ZTI16CGlxListTestBaseI18CGlxStaticItemList32CGlxStaticItemListReconstructionE @ 49 NONAME
+	_ZTI26CGlxListReconstructionBase @ 50 NONAME
+	_ZTV16CGlxListTestBaseI18CGlxStaticItemList32CGlxStaticItemListReconstructionE @ 51 NONAME
+	_ZTV26CGlxListReconstructionBase @ 52 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/eabi/ut_glxerrormanageru.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/eabi/ut_glxerrormanageru.def	Mon Jun 21 15:40:32 2010 +0300
@@ -2,17 +2,17 @@
 	_Z16CreateTestSuiteLv @ 1 NONAME
 	_ZN13MGlxMediaList10UnmarkAllLERS_ @ 2 NONAME
 	_ZN13MGlxMediaList9InstanceLERK18CMPXCollectionPathRK6TGlxIdI19TGlxIdHierarchyBaseEP9CMPXMedia @ 3 NONAME
-	_ZN14CGlxListWindow10AddObjectsEii @ 4 NONAME
-	_ZN14CGlxListWindow10AddObjectsEiiii @ 5 NONAME
-	_ZN14CGlxListWindow10ConstructLEv @ 6 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEii @ 7 NONAME
-	_ZN14CGlxListWindow13RemoveObjectsEiiii @ 8 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEi @ 9 NONAME
-	_ZN14CGlxListWindow13SetFocusIndexEii @ 10 NONAME
+	_ZN14CGlxListWindow10ConstructLEv @ 4 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEii @ 5 NONAME
+	_ZN14CGlxListWindow11AddObjectsLEiiii @ 6 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEii @ 7 NONAME
+	_ZN14CGlxListWindow14RemoveObjectsLEiiii @ 8 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEi @ 9 NONAME
+	_ZN14CGlxListWindow14SetFocusIndexLEii @ 10 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEii @ 11 NONAME
 	_ZN14CGlxListWindow16SetRangeOffsetsLEiiii @ 12 NONAME
 	_ZN14CGlxListWindow2AtEi @ 13 NONAME
-	_ZN14CGlxListWindow7CleanupEv @ 14 NONAME
+	_ZN14CGlxListWindow8CleanupLEv @ 14 NONAME
 	_ZN14CGlxListWindowC1ER23MGlxWindowObjectFactory @ 15 NONAME
 	_ZN14CGlxListWindowC2ER23MGlxWindowObjectFactory @ 16 NONAME
 	_ZN14CGlxListWindowD0Ev @ 17 NONAME
@@ -119,74 +119,79 @@
 	_ZN9MGlxCache9InstanceLEv @ 118 NONAME
 	_ZN9TGlxMedia23DeleteLocationAttributeEv @ 119 NONAME
 	_ZN9TGlxMedia9MatchByIdERKS_S1_ @ 120 NONAME
-	_ZNK14CGlxListWindow2AtEi @ 121 NONAME
-	_ZNK14CGlxListWindow8IteratorEv @ 122 NONAME
-	_ZNK21TGlxSelectionIterator7InRangeEi @ 123 NONAME
-	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 124 NONAME
-	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 125 NONAME
-	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 126 NONAME
-	_ZNK9TGlxMedia11GetDurationERf @ 127 NONAME
-	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 128 NONAME
-	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 129 NONAME
-	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 130 NONAME
-	_ZNK9TGlxMedia13GetFrameCountERi @ 131 NONAME
-	_ZNK9TGlxMedia13GetSystemItemERi @ 132 NONAME
-	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 133 NONAME
-	_ZNK9TGlxMedia14IsDrmProtectedEv @ 134 NONAME
-	_ZNK9TGlxMedia15GetDrmProtectedERi @ 135 NONAME
-	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 136 NONAME
-	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 137 NONAME
-	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 138 NONAME
-	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 139 NONAME
-	_ZNK9TGlxMedia21GetContainedItemCountERi @ 140 NONAME
-	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 141 NONAME
-	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 142 NONAME
-	_ZNK9TGlxMedia3UriEv @ 143 NONAME
-	_ZNK9TGlxMedia5TitleEv @ 144 NONAME
-	_ZNK9TGlxMedia7CommentEv @ 145 NONAME
-	_ZNK9TGlxMedia7GetDateER5TTime @ 146 NONAME
-	_ZNK9TGlxMedia7GetSizeERj @ 147 NONAME
-	_ZNK9TGlxMedia8CategoryEv @ 148 NONAME
-	_ZNK9TGlxMedia8IsStaticEv @ 149 NONAME
-	_ZNK9TGlxMedia8MimeTypeEv @ 150 NONAME
-	_ZNK9TGlxMedia8SubTitleEv @ 151 NONAME
-	_ZNK9TGlxMedia9IdSpaceIdEv @ 152 NONAME
-	_ZTI13CGlxMediaList @ 153 NONAME
-	_ZTI14CGlxListWindow @ 154 NONAME
-	_ZTI15CGlxImageReader @ 155 NONAME
-	_ZTI16CGlxCacheManager @ 156 NONAME
-	_ZTI20CGlxAttributeContext @ 157 NONAME
-	_ZTI20CGlxGarbageCollector @ 158 NONAME
-	_ZTI20CGlxThumbnailContext @ 159 NONAME
-	_ZTI21TGlxExclusionIterator @ 160 NONAME
-	_ZTI21TGlxSelectionIterator @ 161 NONAME
-	_ZTI22TGlxSequentialIterator @ 162 NONAME
-	_ZTI22TGlxSpecificIdIterator @ 163 NONAME
-	_ZTI25TGlxFirstThenLastIterator @ 164 NONAME
-	_ZTI27CGlxDefaultAttributeContext @ 165 NONAME
-	_ZTI27CGlxDefaultThumbnailContext @ 166 NONAME
-	_ZTI28TGlxFromFocusOutwardIterator @ 167 NONAME
-	_ZTI33TGlxFromManualIndexBlockyIterator @ 168 NONAME
-	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 169 NONAME
-	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 170 NONAME
-	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 171 NONAME
-	_ZTV13CGlxMediaList @ 172 NONAME
-	_ZTV14CGlxListWindow @ 173 NONAME
-	_ZTV15CGlxImageReader @ 174 NONAME
-	_ZTV16CGlxCacheManager @ 175 NONAME
-	_ZTV20CGlxAttributeContext @ 176 NONAME
-	_ZTV20CGlxGarbageCollector @ 177 NONAME
-	_ZTV20CGlxThumbnailContext @ 178 NONAME
-	_ZTV21TGlxExclusionIterator @ 179 NONAME
-	_ZTV21TGlxSelectionIterator @ 180 NONAME
-	_ZTV22TGlxSequentialIterator @ 181 NONAME
-	_ZTV22TGlxSpecificIdIterator @ 182 NONAME
-	_ZTV25TGlxFirstThenLastIterator @ 183 NONAME
-	_ZTV27CGlxDefaultAttributeContext @ 184 NONAME
-	_ZTV27CGlxDefaultThumbnailContext @ 185 NONAME
-	_ZTV28TGlxFromFocusOutwardIterator @ 186 NONAME
-	_ZTV33TGlxFromManualIndexBlockyIterator @ 187 NONAME
-	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 188 NONAME
-	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 189 NONAME
-	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 190 NONAME
+	_ZNK12CGlxItemList18__DbgTestInvariantEv @ 121 NONAME
+	_ZNK14CGlxListWindow18__DbgTestInvariantEv @ 122 NONAME
+	_ZNK14CGlxListWindow2AtEi @ 123 NONAME
+	_ZNK14CGlxListWindow8IteratorEv @ 124 NONAME
+	_ZNK17CGlxNavigableList18__DbgTestInvariantEv @ 125 NONAME
+	_ZNK18CGlxStaticItemList18__DbgTestInvariantEv @ 126 NONAME
+	_ZNK21TGlxSelectionIterator7InRangeEi @ 127 NONAME
+	_ZNK9CGlxMedia12GetValueTextER7TPtrC16RK13TMPXAttribute @ 128 NONAME
+	_ZNK9CGlxMedia12ValueCObjectERK13TMPXAttribute @ 129 NONAME
+	_ZNK9CGlxMedia18__DbgTestInvariantEv @ 130 NONAME
+	_ZNK9CGlxMedia9ValueTextERK13TMPXAttribute @ 131 NONAME
+	_ZNK9TGlxMedia11GetDurationERf @ 132 NONAME
+	_ZNK9TGlxMedia11GetIconInfoER9TIconInfo @ 133 NONAME
+	_ZNK9TGlxMedia13GetCoordinateER11TCoordinate @ 134 NONAME
+	_ZNK9TGlxMedia13GetDimensionsER5TSize @ 135 NONAME
+	_ZNK9TGlxMedia13GetFrameCountERi @ 136 NONAME
+	_ZNK9TGlxMedia13GetSystemItemERi @ 137 NONAME
+	_ZNK9TGlxMedia14GetDrmValidityER30TGlxMediaGeneralRightsValidity @ 138 NONAME
+	_ZNK9TGlxMedia14IsDrmProtectedEv @ 139 NONAME
+	_ZNK9TGlxMedia15GetDrmProtectedERi @ 140 NONAME
+	_ZNK9TGlxMedia18ThumbnailAttributeER13TMPXAttribute @ 141 NONAME
+	_ZNK9TGlxMedia19GetClosestThumbnailER13TMPXAttributeRK5TSizei @ 142 NONAME
+	_ZNK9TGlxMedia19GetLastModifiedDateER5TTime @ 143 NONAME
+	_ZNK9TGlxMedia20GetStaticItemCommandERi @ 144 NONAME
+	_ZNK9TGlxMedia21GetContainedItemCountERi @ 145 NONAME
+	_ZNK9TGlxMedia26IsSlideShowPlayableContentEv @ 146 NONAME
+	_ZNK9TGlxMedia38GetSlideshowPlayableContainedItemCountERi @ 147 NONAME
+	_ZNK9TGlxMedia3UriEv @ 148 NONAME
+	_ZNK9TGlxMedia5TitleEv @ 149 NONAME
+	_ZNK9TGlxMedia7CommentEv @ 150 NONAME
+	_ZNK9TGlxMedia7GetDateER5TTime @ 151 NONAME
+	_ZNK9TGlxMedia7GetSizeERj @ 152 NONAME
+	_ZNK9TGlxMedia8CategoryEv @ 153 NONAME
+	_ZNK9TGlxMedia8IsStaticEv @ 154 NONAME
+	_ZNK9TGlxMedia8MimeTypeEv @ 155 NONAME
+	_ZNK9TGlxMedia8SubTitleEv @ 156 NONAME
+	_ZNK9TGlxMedia9IdSpaceIdEv @ 157 NONAME
+	_ZTI13CGlxMediaList @ 158 NONAME
+	_ZTI14CGlxListWindow @ 159 NONAME
+	_ZTI15CGlxImageReader @ 160 NONAME
+	_ZTI16CGlxCacheManager @ 161 NONAME
+	_ZTI20CGlxAttributeContext @ 162 NONAME
+	_ZTI20CGlxGarbageCollector @ 163 NONAME
+	_ZTI20CGlxThumbnailContext @ 164 NONAME
+	_ZTI21TGlxExclusionIterator @ 165 NONAME
+	_ZTI21TGlxSelectionIterator @ 166 NONAME
+	_ZTI22TGlxSequentialIterator @ 167 NONAME
+	_ZTI22TGlxSpecificIdIterator @ 168 NONAME
+	_ZTI25TGlxFirstThenLastIterator @ 169 NONAME
+	_ZTI27CGlxDefaultAttributeContext @ 170 NONAME
+	_ZTI27CGlxDefaultThumbnailContext @ 171 NONAME
+	_ZTI28TGlxFromFocusOutwardIterator @ 172 NONAME
+	_ZTI33TGlxFromManualIndexBlockyIterator @ 173 NONAME
+	_ZTI34TGlxFromFocusOutwardBlockyIterator @ 174 NONAME
+	_ZTI34TGlxFromIndexOutwardBlockyIterator @ 175 NONAME
+	_ZTI40TGlxFromManualIndexOutwardBlockyIterator @ 176 NONAME
+	_ZTV13CGlxMediaList @ 177 NONAME
+	_ZTV14CGlxListWindow @ 178 NONAME
+	_ZTV15CGlxImageReader @ 179 NONAME
+	_ZTV16CGlxCacheManager @ 180 NONAME
+	_ZTV20CGlxAttributeContext @ 181 NONAME
+	_ZTV20CGlxGarbageCollector @ 182 NONAME
+	_ZTV20CGlxThumbnailContext @ 183 NONAME
+	_ZTV21TGlxExclusionIterator @ 184 NONAME
+	_ZTV21TGlxSelectionIterator @ 185 NONAME
+	_ZTV22TGlxSequentialIterator @ 186 NONAME
+	_ZTV22TGlxSpecificIdIterator @ 187 NONAME
+	_ZTV25TGlxFirstThenLastIterator @ 188 NONAME
+	_ZTV27CGlxDefaultAttributeContext @ 189 NONAME
+	_ZTV27CGlxDefaultThumbnailContext @ 190 NONAME
+	_ZTV28TGlxFromFocusOutwardIterator @ 191 NONAME
+	_ZTV33TGlxFromManualIndexBlockyIterator @ 192 NONAME
+	_ZTV34TGlxFromFocusOutwardBlockyIterator @ 193 NONAME
+	_ZTV34TGlxFromIndexOutwardBlockyIterator @ 194 NONAME
+	_ZTV40TGlxFromManualIndexOutwardBlockyIterator @ 195 NONAME
 
--- a/photosgallery/viewframework/medialists/tsrc/t_glxlistwindow/t_glxlistwindow.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/medialists/tsrc/t_glxlistwindow/t_glxlistwindow.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -336,7 +336,7 @@
     /// @todo combine these 3 lines to a single call to AddObjects
     if ( info.iTotalSize > 0 )
         {
-        window->AddObjects( info.iFocusIndex, info.iTotalSize, 
+        window->AddObjectsL( info.iFocusIndex, info.iTotalSize, 
             0, info.iTotalSize - 1 );
         }
     
@@ -347,9 +347,9 @@
     }
 
 /** Cleans up a window */
-void Cleanup( CTestWindow& aWindow )
+void CleanupL( CTestWindow& aWindow )
     {
-    aWindow.Cleanup();
+    aWindow.CleanupL();
     // test cleanup ok
     for ( TInt i = 0; i < aWindow.iEntries.Count(); i++ )
         {
@@ -365,7 +365,7 @@
     AssertWindow( aWindow, aWindowAfter );
     // makes sure reused items have not been cleaned up during update
     AssertReuse( aWindow, aWindowBefore, aWindowAfter, aChange, aChangedIndex, aChangeCount );
-    Cleanup( aWindow );
+    CleanupL( aWindow );
     }
     
 /** 
@@ -396,7 +396,7 @@
         window->iList = aListAfterChange;
         changeCount = strlen( aListAfterChange ) - strlen( aListBeforeChange );
         TWindowInfo info = AnalyzeWindow( aWindowAfter );
-        window->AddObjects( info.iFocusIndex, info.iTotalSize,       // focus, size
+        window->AddObjectsL( info.iFocusIndex, info.iTotalSize,       // focus, size
             aChangedIndex, aChangedIndex + changeCount - 1 ); // first index, last index
         window->iOldList = window->iList; // iOldList is used to check cleanup
         }
@@ -405,14 +405,14 @@
         window->iList = aListAfterChange;
         changeCount = strlen( aListBeforeChange ) - strlen( aListAfterChange );
         TWindowInfo info = AnalyzeWindow( aWindowAfter );
-        window->RemoveObjects(  info.iFocusIndex, info.iTotalSize, // focus, size
+        window->RemoveObjectsL(  info.iFocusIndex, info.iTotalSize, // focus, size
             aChangedIndex, aChangedIndex + changeCount - 1 ); // first index, last index
         window->iOldList = window->iList; // iOldList is used to check cleanup
         }
     if ( ENone == aChange )
         {
         TWindowInfo info = AnalyzeWindow( aWindowAfter );
-        window->SetFocusIndex( info.iFocusIndex, info.iTotalSize );
+        window->SetFocusIndexL( info.iFocusIndex, info.iTotalSize );
         }
         
     VerifyAndCleanup( *window, aWindowBefore, aWindowAfter, aChange, 
@@ -574,23 +574,23 @@
     SetupL, T_SetRangeOffsetsLL, Teardown)
 
 EUNIT_TEST(
-    "SetFocusIndex",
+    "SetFocusIndexL",
     "CGlxListWindow",
-    "SetFocusIndex",
+    "SetFocusIndexL",
     "FUNCTIONALITY",
     SetupL, T_SetFocusIndexL, Teardown)
     
 EUNIT_TEST(
-    "AddObjects",
+    "AddObjectsL",
     "CGlxListWindow",
-    "AddObjects",
+    "AddObjectsL",
     "FUNCTIONALITY",
     SetupL, T_AddObjectsL, Teardown)
     
 EUNIT_TEST(
-    "RemoveObjects",
+    "RemoveObjectsL",
     "CGlxListWindow",
-    "RemoveObjects",
+    "RemoveObjectsL",
     "FUNCTIONALITY",
     SetupL, T_RemoveObjectsL, Teardown)
 
--- a/photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/data/glxfullscreenviewdata.rss	Mon Jun 21 15:40:32 2010 +0300
@@ -403,10 +403,10 @@
                     AVKON_BUTTON_STATE
                         {
                         bmpfile = "z:\\Resource\\apps\\glxicons.mif";
-                        bmpid = EMbmGlxiconsQgn_indi_cam4_tb_upload;
-                        bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask;
-                        press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_upload;
-                        press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask;
+                        bmpid = EMbmGlxicons1click_default_icon_active;
+                        bmpmask = EMbmGlxicons1click_default_icon_active_mask;
+                        press_bmpid = EMbmGlxicons1click_default_icon_active;
+                        press_bmpmask = EMbmGlxicons1click_default_icon_active_mask;
                         }
                     };
                 };
--- a/photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/plugins/gridviewplugin/data/glxgridviewdata.rss	Mon Jun 21 15:40:32 2010 +0300
@@ -579,10 +579,10 @@
                     AVKON_BUTTON_STATE
                         {
                         bmpfile = "z:\\Resource\\apps\\glxicons.mif";
-                        bmpid = EMbmGlxiconsQgn_indi_cam4_tb_upload;
-                        bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask;
-                        press_bmpid = EMbmGlxiconsQgn_indi_cam4_tb_upload;
-                        press_bmpmask = EMbmGlxiconsQgn_indi_cam4_tb_upload_mask;                       
+                        bmpid = EMbmGlxicons1click_default_icon_active;
+                        bmpmask = EMbmGlxicons1click_default_icon_active_mask;
+                        press_bmpid = EMbmGlxicons1click_default_icon_active;
+                        press_bmpmask = EMbmGlxicons1click_default_icon_active_mask;                      
                         }
                     };
                 };
--- a/photosgallery/viewframework/texturemanager/group/glxtexturemanager.mmp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/texturemanager/group/glxtexturemanager.mmp	Mon Jun 21 15:40:32 2010 +0300
@@ -70,4 +70,6 @@
 LIBRARY         exiflib.lib
 LIBRARY         oommonitor.lib       // For Requesting RAM
 LIBRARY         glximageviewermanager.lib
+LIBRARY         apgrfx.lib
+LIBRARY         apmime.lib
 // End of File
--- a/photosgallery/viewframework/texturemanager/inc/glxbitmapdecoderwrapper.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/texturemanager/inc/glxbitmapdecoderwrapper.h	Mon Jun 21 15:40:32 2010 +0300
@@ -87,40 +87,39 @@
 public:    
     /**
      * Standard Active object functions
-     * */
+     */
     virtual void RunL();
     virtual void DoCancel();
 
 private:
-    /*
+    /**
      * Constructor
-     * */
+     */
     CGlxBitmapDecoderWrapper();
     
-    /*
-     *Second-phase constuction 
-     * */
-    void ConstructL(MGlxBitmapDecoderObserver* aObserver);
-    /*
-     * Get the orientation of the file
-     * This API reads the Exif tag in an image and returns the orientation of that Image 
+    /**
+     * Second-phase constuction 
      */
-    TUint16 GetOrientationL(const TDesC& aFileName) ;
-    /*
-     * Get the Rotation Angle and Mirroring status of the image so as to set it on the decoder 
-     * This API calculates the rotation angle and the Mirroring status required by the decoder
-     * @param aOrientation Orientation of the image.
-     * @param aRotAngle Rotation angle to be set on the image decoder.
-     * @param aFlipStatus Mirroring status for the decoder if 1 then mirroring should be set.
-     * Internally it also sets the iOriginalSize to the required size
+    void ConstructL(MGlxBitmapDecoderObserver* aObserver);
+    
+    /**
+     * If the image format is non jpeg, then we need to calculate as per
+     * reduction factor and reduced size as what the decoder is going to return us
+     * This function returns if that needs to be done. 
      */
-    void GetRotationParameters(TUint16 aOrientation, TInt& aRotAngle, TBool& aFlipStatus) ;
+    TBool DoesMimeTypeNeedsRecalculateL();
+    
+    /**
+     * Recalculate the size for png/bmp as decoder fails to 
+     * decode for desired size 
+     */
+    TSize ReCalculateSizeL();
 
 private:    
     /* Contains the TextureManagerImpl object,calls the HandleBitmapDecoded*/
     MGlxBitmapDecoderObserver* iObserver;
     /*Specifies the Decoder */
-    CImageDecoder*          iImageDecoder; // decoder from ICL API
+    CImageDecoder* iImageDecoder; // decoder from ICL API
     /*Contains the Thumbnail Index*/
     TInt iThumbnailIndex;
     /*Contains the Bitmap generated*/
@@ -129,13 +128,11 @@
     TAlfRealSize iOriginalSize;
     /*A handle to a file server session.*/ 
     RFs iFs;
-    /*Specifies the state of decoding ,if it is in initial level(3MP), Middlelevel(6MP) or final level*/
-    TDecoderState iDecoderState;
-    /*Specifies the size of teh image and levels to decode*/
-    TImageLevel   iImageLevel;
+    /*To store the target image size*/
+    TSize iTargetBitmapSize;
+    /*To store the image uri path*/ 
+    HBufC* iImagePath;                     
 #ifdef _DEBUG
-    
-    TTime iDecodeProcessstartTime;
     TTime iStartTime;
     TTime iStopTime;
 #endif
--- a/photosgallery/viewframework/texturemanager/src/glxbitmapdecoderwrapper.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/texturemanager/src/glxbitmapdecoderwrapper.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -29,27 +29,31 @@
 #include <hal_data.h>
 #include <mglxcache.h>
 #include <oommonitorsession.h>
+#include <e32math.h>
+#include <apgcli.h>
+
 namespace
-{
-const TInt KGlxDecodingThreshold = 3000000;
-const TInt KGlxDecodingThresholdDimension = 2000;
-
+    {
+    const TInt KGlxDecodingThreshold = 3000000;
+    const TInt KGlxDecodingThresholdDimension = 2000;
 
-// Photos low_ram_threshold [8.637 MB] as in oomconfig.xml
-const TInt KGlxCriticalRAMForPhotos = 9056550;
-const TInt KGlxDecodeBitmapFactor = 3;
-// All EXIF data is within the first KGlxMaxExifSize bytes of the file
-const TInt KGlxMaxExifSize = 0x10000;
-}
+    // Photos low_ram_threshold [8.637 MB] as in oomconfig.xml
+    const TInt KGlxCriticalRAMForPhotos = 9056550;
+    const TInt KGlxDecodeBitmapFactor = 3;
+    
+    _LIT(KMimeJpeg,"image/jpeg");
+    _LIT(KMimeJpg,"image/jpg");
+    }
 
 // ---------------------------------------------------------------------------
 // Two-phased constructor.
 // ---------------------------------------------------------------------------
 //
-CGlxBitmapDecoderWrapper* CGlxBitmapDecoderWrapper::NewL(MGlxBitmapDecoderObserver* aObserver)
+CGlxBitmapDecoderWrapper* CGlxBitmapDecoderWrapper::NewL(
+        MGlxBitmapDecoderObserver* aObserver)
     {
-    TRACER("CGlxBitmapDecoderWrapper:: NewL ");
-    CGlxBitmapDecoderWrapper* self = new(ELeave)CGlxBitmapDecoderWrapper();
+    TRACER("CGlxBitmapDecoderWrapper::NewL()");
+    CGlxBitmapDecoderWrapper* self = new (ELeave) CGlxBitmapDecoderWrapper();
     CleanupStack::PushL(self);
     self->ConstructL(aObserver);
     CleanupStack::Pop(self);
@@ -60,20 +64,19 @@
 // Constructor
 // ---------------------------------------------------------------------------
 //
-CGlxBitmapDecoderWrapper::CGlxBitmapDecoderWrapper()
-                         :CActive( EPriorityLow )
-		        {
-		        TRACER("CGlxBitmapDecoderWrapper:: NewL ");
-		        }		
+CGlxBitmapDecoderWrapper::CGlxBitmapDecoderWrapper() :
+    CActive(EPriorityLow)
+    {
+    TRACER("CGlxBitmapDecoderWrapper::CGlxBitmapDecoderWrapper()");
+    }		
 
 // ---------------------------------------------------------------------------
 // Destructor
 // ---------------------------------------------------------------------------
 //
-
 CGlxBitmapDecoderWrapper::~CGlxBitmapDecoderWrapper()
     {
-    TRACER("CGlxBitmapDecoderWrapper:: ~CGlxBitmapDecoderWrapper ");
+    TRACER("CGlxBitmapDecoderWrapper::~CGlxBitmapDecoderWrapper()");
     iFs.Close();
     Cancel();
     if (iImageDecoder)
@@ -81,6 +84,11 @@
         delete iImageDecoder;
         iImageDecoder = NULL;
         }
+    if (iImagePath)
+        {
+        delete iImagePath;
+        iImagePath = NULL;
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -97,16 +105,17 @@
 // ---------------------------------------------------------------------------
 // DoDecodeImageL
 // ---------------------------------------------------------------------------		
+void CGlxBitmapDecoderWrapper::DoDecodeImageL(const TDesC& aSourceFileName,
+        TInt aIndex)
+    {
+    TRACER("CGlxBitmapDecoderWrapper::DoDecodeImageL()");
+    GLX_LOG_URI("CGlxBitmapDecoderWrapper::DoDecodeImageL(%S)",
+            &aSourceFileName);
 
-void CGlxBitmapDecoderWrapper::DoDecodeImageL(const TDesC & aSourceFileName,TInt aIndex)
-    {
-    TRACER("CGlxBitmapDecoderWrapper:: DoDecodeImageL ");
     iThumbnailIndex = aIndex;
-    //Variable used to get the decoder type used
-    TBool isExtDecoderUsed = ETrue;
-    
+
 #ifdef _DEBUG
-    iDecodeProcessstartTime.HomeTime();
+    iStartTime.HomeTime();
 #endif                          
 
     if (iImageDecoder)
@@ -114,61 +123,40 @@
         delete iImageDecoder;
         iImageDecoder = NULL;
         }
-    
-    CImageDecoder::TOptions options = (CImageDecoder::TOptions)
-            ( CImageDecoder::EOptionNoDither | CImageDecoder::EOptionAlwaysThread );
+
+    CImageDecoder::TOptions options =
+            (CImageDecoder::TOptions) (CImageDecoder::EOptionNoDither
+                    | CImageDecoder::EOptionAlwaysThread);
 
     // Use extended JPEG decoder
+    GLX_DEBUG1("DoDecodeImageL:: EHwImplementation" );
     TRAPD( err, iImageDecoder = CExtJpegDecoder::FileNewL(
-            CExtJpegDecoder::EHwImplementation, iFs, aSourceFileName, options  ) );
-    if ( KErrNone != err )
+                    CExtJpegDecoder::EHwImplementation, iFs,
+                    aSourceFileName, options ) );
+    GLX_DEBUG2("DoDecodeImageL:: EHwImplementation (%d)", err);
+    if (KErrNone != err)
         {
-        GLX_LOG_INFO( "DoDecodeImageL:: ESwImplementation" );
         TRAP(err,iImageDecoder = CExtJpegDecoder::FileNewL(
-                CExtJpegDecoder::ESwImplementation, iFs, aSourceFileName, options  ) );
-        if ( KErrNone != err )
+                        CExtJpegDecoder::ESwImplementation, iFs,
+                        aSourceFileName, options ) );
+        GLX_DEBUG2("DoDecodeImageL:: ESwImplementation (%d)", err);
+        if (KErrNone != err)
             {
-            GLX_LOG_INFO( "DoDecodeImageL:: CImageDecoder" );
+            GLX_DEBUG1("DoDecodeImageL::CImageDecoder");
             // Not a JPEG - use standard decoder
-            iImageDecoder = CImageDecoder::FileNewL( iFs, aSourceFileName, options  );
-            isExtDecoderUsed = EFalse;
+            iImageDecoder = CImageDecoder::FileNewL(iFs, aSourceFileName,
+                    options);
             }
         }
 #ifdef _DEBUG
-        iStopTime.HomeTime();
-        GLX_DEBUG1("=== DECODER CREATION ===");
-        GLX_DEBUG2("Decoder Creation took <%d> us", 
-                   (TInt)iStopTime.MicroSecondsFrom(iDecodeProcessstartTime).Int64());   
+    iStopTime.HomeTime();
+    GLX_DEBUG2("*** Decoder Creation took <%d> us ***",
+            (TInt)iStopTime.MicroSecondsFrom(iStartTime).Int64());
 #endif                          
-		
+
     TSize imageSize = iImageDecoder->FrameInfo().iOverallSizeInPixels;
-    if(isExtDecoderUsed)
-        {
-        TUint16 orientation=0;
-        //Read the orientation from the Exif header of the image if present
-        TRAPD(error, orientation=GetOrientationL(aSourceFileName));
-        if(KErrNone == error )
-            {
-            //Get the rotation angle and the flip status from orientation
-            TInt rotAngle = 0;
-            TBool flipStatus = EFalse;
-            GetRotationParameters(orientation, rotAngle, flipStatus);
-            //Set the parameters to the decoder
-            CExtJpegDecoder* extDecoder = (CExtJpegDecoder*)iImageDecoder;
-            extDecoder->SetRotationL(rotAngle);
-            if(flipStatus)
-                {
-                extDecoder->SetMirroringL();
-                }
-            //Switch Image Height and width in case orientation > 4 as that 
-            //corresponds to angles 180 and 270 degrees
-            if (orientation > 4)
-                {
-                imageSize.SetSize(imageSize.iHeight,imageSize.iWidth);
-                }
-            }
-
-        }
+    GLX_DEBUG3("GlxDecoderWrapper::DecodeImageL() - OverallSize: w=%d, h=%d",
+            imageSize.iWidth, imageSize.iHeight);
     iOriginalSize.iWidth = imageSize.iWidth;
     iOriginalSize.iHeight = imageSize.iHeight;
 
@@ -177,140 +165,161 @@
         delete iBitmap;
         iBitmap = NULL;
         }
+    
+    if (iImagePath)
+        {
+        delete iImagePath;
+        iImagePath = NULL;
+        }
+    iImagePath = aSourceFileName.Alloc();
+    
     DecodeImageL();
     }
+
 // ---------------------------------------------------------------------------
 // DecodeImageL
 // ---------------------------------------------------------------------------
 //
 void CGlxBitmapDecoderWrapper::DecodeImageL()
     {
-    TRACER("CGlxBitmapDecoderWrapper:: DecodeImageL ");
+    TRACER("CGlxBitmapDecoderWrapper::DecodeImageL()");
     TReal32 mFactor = 1;
-    TReal32 mFactor1 = 1;
+    TReal mFactor1 = 1;
     TReal32 mFactor2 = 1;
     //Set Size according to level and state
     TReal32 width = iOriginalSize.iWidth;
     TReal32 height = iOriginalSize.iHeight;
-    GLX_LOG_INFO1("DecodeImageL:width=%f", width);
-    GLX_LOG_INFO1("DecodeImageL:height=%f",height);
-    
-    if ( KGlxDecodingThreshold < (width * height))
+
+    if (KGlxDecodingThreshold < (width * height))
         {
-        mFactor1 = TReal32(KGlxDecodingThreshold) / (width*height);
-        GLX_LOG_INFO1("mFactor1 =%f",mFactor1);
+        TReal tempFactor = TReal32(KGlxDecodingThreshold)
+                / (width * height);
+        User::LeaveIfError(Math::Sqrt(mFactor1, tempFactor));
+        GLX_DEBUG2("DecodeImageL() - mFactor1 = %f", mFactor1);
         }
-    
-    if ( KGlxDecodingThresholdDimension < width || KGlxDecodingThresholdDimension < height)
+
+    if (KGlxDecodingThresholdDimension < width
+            || KGlxDecodingThresholdDimension < height)
         {
-        mFactor2 = TReal32(KGlxDecodingThresholdDimension) / Max(width, height);
-        GLX_LOG_INFO1("mFactor2 =%f",mFactor2);
+        mFactor2 = TReal32(KGlxDecodingThresholdDimension) / Max(width,
+                height);
+        GLX_DEBUG2("DecodeImageL() - mFactor2 = %f", mFactor2);
         }
 
-    mFactor = Min(mFactor1 , mFactor2);
-    GLX_LOG_INFO1("Final mFactor =%f",mFactor);
+    mFactor = Min(TReal32(mFactor1), mFactor2);
+    GLX_DEBUG2("DecodeImageL() - Final mFactor = %f", mFactor);
 
     // create the destination bitmap
-    if(!iBitmap)
+    if (!iBitmap)
         {
         TInt freeMemory = 0;
-        HAL::Get( HALData::EMemoryRAMFree, freeMemory );
-        width*=mFactor;
-        height*=mFactor;
-        TInt minmemorytodecode = KGlxDecodeBitmapFactor*width*height;     
-        GLX_LOG_INFO2("DecodeImageL: after factoring width=%f, height=%f", width, height);
-        GLX_LOG_INFO2("DecodeImageL:minmemorytodecode=%d, freememory=%d",
+        HAL::Get(HALData::EMemoryRAMFree, freeMemory);
+        width *= mFactor;
+        height *= mFactor;
+        TInt minmemorytodecode = KGlxDecodeBitmapFactor * width * height;
+        GLX_DEBUG3("DecodeImageL: minmemorytodecode=%d, freememory=%d",
                 minmemorytodecode, freeMemory);
-        if(minmemorytodecode < (freeMemory - KGlxCriticalRAMForPhotos))
+        
+        iTargetBitmapSize.iWidth = width;
+        iTargetBitmapSize.iHeight = height;
+        GLX_DEBUG3("DecodeImageL: iTargetBitmapSize w=%d, h=%d",
+                iTargetBitmapSize.iWidth, iTargetBitmapSize.iHeight);
+        __ASSERT_DEBUG(width > 0 && height > 0, Panic(EGlxPanicIllegalArgument));      
+
+        if (minmemorytodecode < (freeMemory - KGlxCriticalRAMForPhotos))
             {
-            GLX_LOG_INFO("DecodeImageL:RAM available decoding image");
-
+            GLX_DEBUG1("DecodeImageL:RAM available decoding image");            
             iBitmap = new (ELeave) CFbsBitmap();
-            iBitmap->Create( TSize(width,height),iImageDecoder->FrameInfo().iFrameDisplayMode );
+            iBitmap->Create(ReCalculateSizeL(),
+                    iImageDecoder->FrameInfo().iFrameDisplayMode);
 #ifdef _DEBUG
             iStartTime.HomeTime(); // Get home time
 #endif                          
-            iImageDecoder->Convert( &iStatus, *iBitmap );
+            iImageDecoder->Convert(&iStatus, *iBitmap);
             }
         else
             {
             //case when sufficient memory is not available
             //request OOM FW to release the required memory
-            GLX_LOG_INFO("DecodeImageL:insufficient RAM - request OOM");
+            GLX_DEBUG1("DecodeImageL:insufficient RAM - request OOM");
             TInt err = OOMRequestFreeMemoryL(minmemorytodecode);
-            if(err == KErrNoMemory)
+            if (err == KErrNoMemory)
                 {
                 //if OOM fails, release Photos Cache
-                GLX_LOG_INFO("DecodeImageL:insufficient RAM - OOM failed - request Cache");
+                GLX_DEBUG1("DecodeImageL:insufficient RAM - OOM failed"
+                        " - request Cache");
                 MGlxCache* cacheManager = MGlxCache::InstanceL();
-                cacheManager->ReleaseRAML(ETrue);            
+                cacheManager->ReleaseRAML(ETrue);
                 cacheManager->Close();
                 //Try and release memory again
                 err = OOMRequestFreeMemoryL(minmemorytodecode);
                 }
-            if(err != KErrNoMemory)
+            if (err != KErrNoMemory)
                 {
-                GLX_LOG_INFO("DecodeImageL:Sufficient RAM available");
+                GLX_DEBUG1("DecodeImageL:Sufficient RAM available");                
                 iBitmap = new (ELeave) CFbsBitmap();
-                iBitmap->Create( TSize(width,height),iImageDecoder->FrameInfo().iFrameDisplayMode );
+                iBitmap->Create(ReCalculateSizeL(),
+                        iImageDecoder->FrameInfo().iFrameDisplayMode);
 #ifdef _DEBUG
-	            iStartTime.HomeTime(); // Get home time
+                iStartTime.HomeTime(); // Get home time
 #endif                          
-                iImageDecoder->Convert( &iStatus, *iBitmap );
+                iImageDecoder->Convert(&iStatus, *iBitmap);
                 }
             else
                 {
-                GLX_LOG_INFO("NOT ENOUGH MEMORY - Using the Fullscreen Thumbnail For Zoom");
+                GLX_DEBUG1("NOT ENOUGH MEMORY - "
+                        "Using the Fullscreen Thumbnail For Zoom");
                 //release the file held by decoder immediately.
                 iImageDecoder->Cancel();
                 delete iImageDecoder;
                 iImageDecoder = NULL;
                 //Inform the client that there is no decode happened and there we take care 
                 //of showing the fullscreen thumbnail.
-                iObserver->HandleBitmapDecodedL(iThumbnailIndex,NULL);
-                return;                
+                iObserver->HandleBitmapDecodedL(iThumbnailIndex, NULL);
+                return;
                 }
             }
 
         SetActive();
         }
     }
+
 // ---------------------------------------------------------------------------
 // RunL
 // ---------------------------------------------------------------------------
 //
 void CGlxBitmapDecoderWrapper::RunL()
     {
-    TRACER("CGlxBitmapDecoderWrapper:: RunL ");
+    TRACER("CGlxBitmapDecoderWrapper::RunL()");
     if( iStatus == KErrNone )
         {
         iObserver->HandleBitmapDecodedL(iThumbnailIndex,iBitmap);
         iBitmap = NULL;
 
         //release the file held by decoder immediately.
-        GLX_LOG_INFO( " CGlxBitmapDecoderWrapper::RunL:Decoding Finished" );
+        GLX_DEBUG1("CGlxBitmapDecoderWrapper::RunL:Decoding Finished");
         iImageDecoder->Cancel();
         delete iImageDecoder;
         iImageDecoder = NULL;
 #ifdef _DEBUG
         iStopTime.HomeTime();
-        GLX_DEBUG1("=== IMAGE DECODE ===");
-        GLX_DEBUG2("=>Image Decode Took took <%d> us", 
+        GLX_DEBUG2("*** Image Decode took <%d> us ***", 
                        (TInt)iStopTime.MicroSecondsFrom(iStartTime).Int64());            
 #endif                          
 
         }
     }
+
 // ---------------------------------------------------------------------------
 // DoCancel
 // ---------------------------------------------------------------------------
 //
 void CGlxBitmapDecoderWrapper::DoCancel()
     {
-    TRACER("CGlxBitmapDecoderWrapper:: DoCancel ");
+    TRACER("CGlxBitmapDecoderWrapper::DoCancel ");
     if(iImageDecoder)
         {
-        GLX_LOG_INFO( " CGlxBitmapDecoderWrapper::DoCancel:Deleting" );
+        GLX_DEBUG1("CGlxBitmapDecoderWrapper::DoCancel iImageDecoder delete");
         iImageDecoder->Cancel();
         delete iImageDecoder;
         iImageDecoder = NULL;
@@ -323,106 +332,84 @@
     }
 
 // ---------------------------------------------------------------------------
-// GetOrientationL
-// ---------------------------------------------------------------------------
-//
-TUint16 CGlxBitmapDecoderWrapper::GetOrientationL(const TDesC& aFileName)
-    {
-    TRACER("CGlxBitmapDecoderWrapper:: GetOrientationL ");
-    //Get Exif Metadata and the orientation tag from the file first
-            RFile file;
-            CleanupClosePushL(file);
-            User::LeaveIfError(file.Open(iFs,
-                    aFileName, EFileRead));
-            TInt size;
-            User::LeaveIfError(file.Size(size));
-            if ( KGlxMaxExifSize < size )
-                {
-                size = KGlxMaxExifSize;
-                }
-            TUint16 orientation = 9;
-            HBufC8* exifData = HBufC8::NewLC(size);
-            TPtr8 ptr(exifData->Des());
-            User::LeaveIfError(file.Read(ptr));
-            CExifRead* exifReader = NULL;
-            TRAPD(exifErr,exifReader = CExifRead::NewL(*exifData, CExifRead::ENoJpeg));
-            if(exifErr == KErrNone)
-                {
-                CleanupStack::PushL(exifReader);
-
-                TInt readErr = exifReader->GetOrientation(orientation);
-                if(readErr != KErrNone)
-                    {
-                    orientation = 9;
-                    }
-                CleanupStack::PopAndDestroy(exifReader);
-                }
-            CleanupStack::PopAndDestroy(exifData);
-            //Close and pop file Session
-            CleanupStack::PopAndDestroy(&file);
-            return orientation;
-    
-    }
-// ---------------------------------------------------------------------------
-// DoCancel
-// ---------------------------------------------------------------------------
-//
-void CGlxBitmapDecoderWrapper::GetRotationParameters(TUint16 aOrientation, TInt& aRotAngle, TBool& aFlipStatus) 
-    {
-    TRACER("CGlxBitmapDecoderWrapper:: DoCancel ");
-    //Get the orientation and set rotation on the decoder 
-    //as well as update the original size
-    aRotAngle =  0;
-    aFlipStatus = EFalse;
-    TInt isOrientationOdd = aOrientation%2;
-    if(aOrientation>8)
-        {
-        return;
-        }
-    if(aOrientation >= 3 && aOrientation < 5)
-        {
-        aRotAngle = 180;
-        }
-    else if(aOrientation >= 5 && aOrientation < 7)
-        {
-        aRotAngle = 90;
-
-        }
-    else if(aOrientation >= 7 && aOrientation <= 8)
-        {
-        aRotAngle = 270;
-        }
-    if(aOrientation>4 )
-        {
-        if(isOrientationOdd )
-            {
-            aFlipStatus = ETrue;
-            }
-        }   
-
-    }
-
-// ---------------------------------------------------------------------------
 // OOMRequestFreeMemoryL
 // ---------------------------------------------------------------------------
 //
-TInt CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL( TInt aBytesRequested)
+TInt CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL(TInt aBytesRequested)
     {
     TRACER("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL");
-    GLX_LOG_INFO1("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL() aBytesRequested=%d",
-            aBytesRequested);
+    GLX_LOG_INFO1("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL() "
+            "aBytesRequested=%d", aBytesRequested);
     ROomMonitorSession oomMonitor;
-    User::LeaveIfError( oomMonitor.Connect() );
+    User::LeaveIfError(oomMonitor.Connect());
     // No leaving code after this point, so no need to use cleanup stack
     // for oomMonitor
-    TInt errorCode = oomMonitor.RequestFreeMemory( aBytesRequested );
-    GLX_LOG_INFO1("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL(1) errorCode=%d",errorCode);
-    if ( errorCode != KErrNone )
+    TInt errorCode = oomMonitor.RequestFreeMemory(aBytesRequested);
+    GLX_LOG_INFO1("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL(1) "
+            "errorCode=%d",errorCode);
+    if (errorCode != KErrNone)
         {
         // try one more time 
-        errorCode = oomMonitor.RequestFreeMemory( aBytesRequested );
-        GLX_LOG_INFO1("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL(2) errorCode=%d",errorCode);
+        errorCode = oomMonitor.RequestFreeMemory(aBytesRequested);
+        GLX_LOG_INFO1("CGlxBitmapDecoderWrapper::OOMRequestFreeMemoryL(2) "
+                "errorCode=%d",errorCode);
         }
     oomMonitor.Close();
     return errorCode;
     }
+
+// -----------------------------------------------------------------------------
+// DoesMimeTypeNeedsRecalculateL()
+// -----------------------------------------------------------------------------
+//
+TBool CGlxBitmapDecoderWrapper::DoesMimeTypeNeedsRecalculateL()
+    {
+    TRACER("CGlxBitmapDecoderWrapper::DoesMimeTypeNeedsRecalculateL");
+    RApaLsSession session;
+    TDataType mimeType;
+    TUid uid;
+
+    User::LeaveIfError(session.Connect());
+    CleanupClosePushL(session);
+    User::LeaveIfError(session.AppForDocument(iImagePath->Des(), uid,
+            mimeType));
+    CleanupStack::PopAndDestroy(&session);
+
+    if (mimeType.Des().Compare(KMimeJpeg) == 0 || mimeType.Des().Compare(
+            KMimeJpg) == 0)
+        {
+        GLX_LOG_INFO("CGlxBitmapDecoderWrapper::DoesMimeTypeNeedsRecalculateL - jpeg");
+        return EFalse;
+        }
+    else
+        {
+        GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::DoesMimeTypeNeedsRecalculateL - non jpeg");
+        return ETrue;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// ReCalculateSize 
+// -----------------------------------------------------------------------------
+TSize CGlxBitmapDecoderWrapper::ReCalculateSizeL()
+    {
+    TRACER("CGlxBitmapDecoderWrapper::ReCalculateSizeL()");
+    if (DoesMimeTypeNeedsRecalculateL())
+        {
+        TSize fullFrameSize = iImageDecoder->FrameInfo().iOverallSizeInPixels;
+        // calculate the reduction factor on what size we need
+        TInt reductionFactor = iImageDecoder->ReductionFactor(fullFrameSize,
+                iTargetBitmapSize);
+        // get the reduced size onto destination size
+        TSize destSize;
+        User::LeaveIfError(iImageDecoder->ReducedSize(fullFrameSize,
+                reductionFactor, destSize));
+        GLX_LOG_INFO2("CGlxBitmapDecoderWrapper::ReCalculateSizeL() "
+                        "destSize=%d, %d",destSize.iWidth,destSize.iHeight);
+        return destSize;
+        }
+    else
+        {
+        return iTargetBitmapSize;
+        }
+    }
--- a/photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -733,13 +733,13 @@
     if( aIsThumbnailTexture )
 	    {
 	     //Add to the thumbnail list
-        GLX_LOG_INFO("CGlxTextureManagerImpl::CreateNewTextureL iThumbnailList.Append ");
-	    iThumbnailList.Append(aThumbData); 	
+        GLX_LOG_INFO("CGlxTextureManagerImpl::CreateNewTextureL iThumbnailList.AppendL");
+	    iThumbnailList.AppendL(aThumbData); 	
 	    }
    else
 	   {
         GLX_LOG_INFO1("CGlxTextureManagerImpl::CreateNewTextureL,count=%d",iZoomedList.Count());
-	   iZoomedList.Append(aThumbData);
+	   iZoomedList.AppendL(aThumbData);
 	   }
          
     // If we got this far we need to create a new texture
@@ -804,7 +804,7 @@
     aThumbData.iIdSpaceId = aIdSpaceId;
     
     //Add to the thumbnail list
-    iZoomedList.Append(aThumbData);  
+    iZoomedList.AppendL(aThumbData);  
             
     TInt index = iZoomedList.Count()-1;
 	GLX_LOG_INFO1("CGlxTextureManagerImpl:: CreateZoomedTextureL,index=%d",index);
@@ -858,7 +858,7 @@
     
     iAnimatedTnmList.ReserveL( iAnimatedTnmList.Count() + 1 );
 
-    iAnimatedTnmList.Append(thumbData);
+    iAnimatedTnmList.AppendL(thumbData);
     
     CAlfTexture& newTexture = iAlfTextureManager.LoadTextureL(aFilename,aSize, 
             EAlfTextureFlagDefault,thumbData.iTextureId );    
--- a/photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -268,7 +268,15 @@
     else
         {
         ReleaseContent();
-        }
+		if (iNextImagePath)
+			{
+			delete iNextImagePath;
+			iNextImagePath = NULL;
+			}
+		// Ongoing decoding is cancelled if any,reset the decoding flags. 
+		iDecodingNext = EFalse;
+		iDecodingCurrent = EFalse;
+		}
     // Initiate the HDMI by assigning the necessary values
     InitiateHdmiL(aFsBitmap, aImageFile, aNextImageFile);
     //Cancel the zoom timers if any
--- a/photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -68,4 +68,6 @@
 	?ShowConfirmationNoteL@GlxGeneralUiUtilities@@SAXABVTDesC16@@H@Z @ 67 NONAME ; void GlxGeneralUiUtilities::ShowConfirmationNoteL(class TDesC16 const &, int)
 	?ScreenFurniture@CGlxUiUtility@@QAEPAVCGlxScreenFurniture@@XZ @ 68 NONAME ; class CGlxScreenFurniture * CGlxUiUtility::ScreenFurniture(void)
 	?InstanceL@MGlxActiveMediaListResolver@@SAPAV1@PAVMGlxActiveMediaListChangeObserver@@@Z @ 69 NONAME ; class MGlxActiveMediaListResolver * MGlxActiveMediaListResolver::InstanceL(class MGlxActiveMediaListChangeObserver *)
+	?NewL@CGlxRelaseGPUMemory@@SAPAV1@AAVMGoomNotifierObserver@@@Z @ 70 NONAME ; class CGlxRelaseGPUMemory * CGlxRelaseGPUMemory::NewL(class MGoomNotifierObserver &)
+	?RequestMemory@CGlxRelaseGPUMemory@@QAEXXZ @ 71 NONAME ; void CGlxRelaseGPUMemory::RequestMemory(void)
 
--- a/photosgallery/viewframework/uiutilities/data/glxuiutilities.rss	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/uiutilities/data/glxuiutilities.rss	Mon Jun 21 15:40:32 2010 +0300
@@ -818,6 +818,12 @@
     buf = qtn_lgal_note_file_saved_to;
     }
 
+// Error note when the image can not be opened
+RESOURCE TBUF r_glx_err_format_unknown
+    {
+    buf = qtn_lgal_format_unknown;
+    }
+
 RESOURCE CBA r_glx_progressbar_softkey_hide
     {
     buttons =
--- a/photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def	Mon Jun 21 15:40:32 2010 +0300
@@ -33,60 +33,64 @@
 	_ZN18CGlxTextEntryPopup15SetLeftSoftKeyLEi @ 32 NONAME
 	_ZN18CGlxTextEntryPopup4NewLERK7TDesC16R6TDes16 @ 33 NONAME
 	_ZN18CGlxTextEntryPopup9ExecuteLDEv @ 34 NONAME
-	_ZN19CGlxScreenFurniture11SetTooltipLEiN10CAknButton16TTooltipPositionERK7TDesC16 @ 35 NONAME
-	_ZN19CGlxScreenFurniture13SetActiveViewEi @ 36 NONAME
-	_ZN19CGlxScreenFurniture15ViewDeactivatedEi @ 37 NONAME
-	_ZN19CGlxScreenFurniture16ModifySoftkeyIdLEN24CEikButtonGroupContainer16TCommandPositionEiiRK7TDesC16 @ 38 NONAME
-	_ZN19CGlxScreenFurniture18SetToolbarPositionEv @ 39 NONAME
-	_ZN19CGlxScreenFurniture20SetToolbarItemDimmedEii @ 40 NONAME
-	_ZN19CGlxScreenFurniture20SetToolbarVisibilityEi @ 41 NONAME
-	_ZN19CGlxScreenFurniture24SetToolbarItemVisibilityEii @ 42 NONAME
-	_ZN19CGlxScreenFurniture4NewLER13CGlxUiUtility @ 43 NONAME
-	_ZN19CGlxScreenFurniture5NewLCER13CGlxUiUtility @ 44 NONAME
-	_ZN19CGlxScreenFurniture9SetFocusLEi @ 45 NONAME
-	_ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionP16CAlfControlGroup @ 46 NONAME
-	_ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionR13RPointerArrayI16CAlfControlGroupE @ 47 NONAME
-	_ZN19GlxAnimationFactory28CreateImageLoadingAnimationLER10CAlfVisualR11CAlfTexture @ 48 NONAME
-	_ZN21CGlxProgressIndicator15ControlTNDaemonEi @ 49 NONAME
-	_ZN21CGlxProgressIndicator16ShowProgressbarLEv @ 50 NONAME
-	_ZN21CGlxProgressIndicator21DismissProgressDialogEv @ 51 NONAME
-	_ZN21CGlxProgressIndicator4NewLER23MDialogDismisedObserver @ 52 NONAME
-	_ZN21GlxAttributeRetriever9RetrieveLERK16MGlxFetchContextR13MGlxMediaListi @ 53 NONAME
-	_ZN21GlxGeneralUiUtilities11IsLandscapeEv @ 54 NONAME
-	_ZN21GlxGeneralUiUtilities12FormatStringER6TDes16RK7TDesC16iii @ 55 NONAME
-	_ZN21GlxGeneralUiUtilities13ConfirmQueryLERK7TDesC16 @ 56 NONAME
-	_ZN21GlxGeneralUiUtilities13ConfirmQueryLEiRK7TDesC16 @ 57 NONAME
-	_ZN21GlxGeneralUiUtilities13ShowInfoNoteLERK7TDesC16i @ 58 NONAME
-	_ZN21GlxGeneralUiUtilities14ShowErrorNoteLERK7TDesC16i @ 59 NONAME
-	_ZN21GlxGeneralUiUtilities14ShowErrorNoteLEi @ 60 NONAME
-	_ZN21GlxGeneralUiUtilities16LayoutIsMirroredEv @ 61 NONAME
-	_ZN21GlxGeneralUiUtilities21ShowConfirmationNoteLERK7TDesC16i @ 62 NONAME
-	_ZN27CGlxActiveMediaListRegistry23RegisterActiveMediaListEP13MGlxMediaList @ 63 NONAME
-	_ZN27CGlxActiveMediaListRegistry25DeregisterActiveMediaListEP13MGlxMediaList @ 64 NONAME
-	_ZN27CGlxActiveMediaListRegistry9InstanceLEP33MGlxActiveMediaListChangeObserver @ 65 NONAME
-	_ZN27MGlxActiveMediaListResolver9InstanceLEP33MGlxActiveMediaListChangeObserver @ 66 NONAME
-	_ZNK13CGlxUiUtility11DisplaySizeEv @ 67 NONAME
-	_ZNK13CGlxUiUtility14AppOrientationEv @ 68 NONAME
-	_ZNK13CGlxUiUtility7DisplayEv @ 69 NONAME
-	_ZTI13CGlxUiUtility @ 70 NONAME
-	_ZTI15CGlxMMCNotifier @ 71 NONAME
-	_ZTI17CGlxAnimationView @ 72 NONAME
-	_ZTI18CGlxAnimationTimed @ 73 NONAME
-	_ZTI18CGlxTextEntryPopup @ 74 NONAME
-	_ZTI21CGlxProgressIndicator @ 75 NONAME
-	_ZTI21CGlxSkinChangeMonitor @ 76 NONAME
-	_ZTI25CGlxAnimationImageLoading @ 77 NONAME
-	_ZTI32CGlxWaitDialogAttributeRetriever @ 78 NONAME
-	_ZTI33CGlxSynchronousAttributeRetriever @ 79 NONAME
-	_ZTV13CGlxUiUtility @ 80 NONAME
-	_ZTV15CGlxMMCNotifier @ 81 NONAME
-	_ZTV17CGlxAnimationView @ 82 NONAME
-	_ZTV18CGlxAnimationTimed @ 83 NONAME
-	_ZTV18CGlxTextEntryPopup @ 84 NONAME
-	_ZTV21CGlxProgressIndicator @ 85 NONAME
-	_ZTV21CGlxSkinChangeMonitor @ 86 NONAME
-	_ZTV25CGlxAnimationImageLoading @ 87 NONAME
-	_ZTV32CGlxWaitDialogAttributeRetriever @ 88 NONAME
-	_ZTV33CGlxSynchronousAttributeRetriever @ 89 NONAME
-	_ZThn4_N13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 90 NONAME
+	_ZN19CGlxRelaseGPUMemory13RequestMemoryEv @ 35 NONAME
+	_ZN19CGlxRelaseGPUMemory4NewLER21MGoomNotifierObserver @ 36 NONAME
+	_ZN19CGlxScreenFurniture11SetTooltipLEiN10CAknButton16TTooltipPositionERK7TDesC16 @ 37 NONAME
+	_ZN19CGlxScreenFurniture13SetActiveViewEi @ 38 NONAME
+	_ZN19CGlxScreenFurniture15ViewDeactivatedEi @ 39 NONAME
+	_ZN19CGlxScreenFurniture16ModifySoftkeyIdLEN24CEikButtonGroupContainer16TCommandPositionEiiRK7TDesC16 @ 40 NONAME
+	_ZN19CGlxScreenFurniture18SetToolbarPositionEv @ 41 NONAME
+	_ZN19CGlxScreenFurniture20SetToolbarItemDimmedEii @ 42 NONAME
+	_ZN19CGlxScreenFurniture20SetToolbarVisibilityEi @ 43 NONAME
+	_ZN19CGlxScreenFurniture24SetToolbarItemVisibilityEii @ 44 NONAME
+	_ZN19CGlxScreenFurniture4NewLER13CGlxUiUtility @ 45 NONAME
+	_ZN19CGlxScreenFurniture5NewLCER13CGlxUiUtility @ 46 NONAME
+	_ZN19CGlxScreenFurniture9SetFocusLEi @ 47 NONAME
+	_ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionP16CAlfControlGroup @ 48 NONAME
+	_ZN19GlxAnimationFactory20CreateViewAnimationLE23TGlxViewswitchAnimation23TGlxNavigationDirectionR13RPointerArrayI16CAlfControlGroupE @ 49 NONAME
+	_ZN19GlxAnimationFactory28CreateImageLoadingAnimationLER10CAlfVisualR11CAlfTexture @ 50 NONAME
+	_ZN21CGlxProgressIndicator15ControlTNDaemonEi @ 51 NONAME
+	_ZN21CGlxProgressIndicator16ShowProgressbarLEv @ 52 NONAME
+	_ZN21CGlxProgressIndicator21DismissProgressDialogEv @ 53 NONAME
+	_ZN21CGlxProgressIndicator4NewLER23MDialogDismisedObserver @ 54 NONAME
+	_ZN21GlxAttributeRetriever9RetrieveLERK16MGlxFetchContextR13MGlxMediaListi @ 55 NONAME
+	_ZN21GlxGeneralUiUtilities11IsLandscapeEv @ 56 NONAME
+	_ZN21GlxGeneralUiUtilities12FormatStringER6TDes16RK7TDesC16iii @ 57 NONAME
+	_ZN21GlxGeneralUiUtilities13ConfirmQueryLERK7TDesC16 @ 58 NONAME
+	_ZN21GlxGeneralUiUtilities13ConfirmQueryLEiRK7TDesC16 @ 59 NONAME
+	_ZN21GlxGeneralUiUtilities13ShowInfoNoteLERK7TDesC16i @ 60 NONAME
+	_ZN21GlxGeneralUiUtilities14ShowErrorNoteLERK7TDesC16i @ 61 NONAME
+	_ZN21GlxGeneralUiUtilities14ShowErrorNoteLEi @ 62 NONAME
+	_ZN21GlxGeneralUiUtilities16LayoutIsMirroredEv @ 63 NONAME
+	_ZN21GlxGeneralUiUtilities21ShowConfirmationNoteLERK7TDesC16i @ 64 NONAME
+	_ZN27CGlxActiveMediaListRegistry23RegisterActiveMediaListEP13MGlxMediaList @ 65 NONAME
+	_ZN27CGlxActiveMediaListRegistry25DeregisterActiveMediaListEP13MGlxMediaList @ 66 NONAME
+	_ZN27CGlxActiveMediaListRegistry9InstanceLEP33MGlxActiveMediaListChangeObserver @ 67 NONAME
+	_ZN27MGlxActiveMediaListResolver9InstanceLEP33MGlxActiveMediaListChangeObserver @ 68 NONAME
+	_ZNK13CGlxUiUtility11DisplaySizeEv @ 69 NONAME
+	_ZNK13CGlxUiUtility14AppOrientationEv @ 70 NONAME
+	_ZNK13CGlxUiUtility7DisplayEv @ 71 NONAME
+	_ZTI13CGlxUiUtility @ 72 NONAME
+	_ZTI15CGlxMMCNotifier @ 73 NONAME
+	_ZTI17CGlxAnimationView @ 74 NONAME
+	_ZTI18CGlxAnimationTimed @ 75 NONAME
+	_ZTI18CGlxTextEntryPopup @ 76 NONAME
+	_ZTI19CGlxRelaseGPUMemory @ 77 NONAME
+	_ZTI21CGlxProgressIndicator @ 78 NONAME
+	_ZTI21CGlxSkinChangeMonitor @ 79 NONAME
+	_ZTI25CGlxAnimationImageLoading @ 80 NONAME
+	_ZTI32CGlxWaitDialogAttributeRetriever @ 81 NONAME
+	_ZTI33CGlxSynchronousAttributeRetriever @ 82 NONAME
+	_ZTV13CGlxUiUtility @ 83 NONAME
+	_ZTV15CGlxMMCNotifier @ 84 NONAME
+	_ZTV17CGlxAnimationView @ 85 NONAME
+	_ZTV18CGlxAnimationTimed @ 86 NONAME
+	_ZTV18CGlxTextEntryPopup @ 87 NONAME
+	_ZTV19CGlxRelaseGPUMemory @ 88 NONAME
+	_ZTV21CGlxProgressIndicator @ 89 NONAME
+	_ZTV21CGlxSkinChangeMonitor @ 90 NONAME
+	_ZTV25CGlxAnimationImageLoading @ 91 NONAME
+	_ZTV32CGlxWaitDialogAttributeRetriever @ 92 NONAME
+	_ZTV33CGlxSynchronousAttributeRetriever @ 93 NONAME
+	_ZThn4_N13CGlxUiUtility22HandleTvStatusChangedLE13TTvChangeType @ 94 NONAME
 
--- a/photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp	Mon Jun 21 15:40:32 2010 +0300
@@ -50,6 +50,8 @@
 SOURCE          glxskinchangemonitor.cpp
 SOURCE 		glxprogressindicator.cpp
 SOURCE		glxmmcnotifier.cpp
+SOURCE		glxrequestfreegoom.cpp
+
 // System includes from epoc32/include
 APP_LAYER_SYSTEMINCLUDE
 
@@ -104,19 +106,19 @@
 LIBRARY         mpxcommon.lib
 LIBRARY         ws32.lib 
 LIBRARY         glxtvout.lib            // for TV out notificaions
-LIBRARY			libpthread.lib
+LIBRARY         libpthread.lib
 // Uiaccelerator related libraries 
 LIBRARY         osncore.lib 
-LIBRARY			alfwidgetmodel.lib
+LIBRARY         alfwidgetmodel.lib
 // MUL related libraries  
 LIBRARY          mulmodelutility.lib //For Visual Item and Filter action item
 //for handling the Ustring memory leak  
-LIBRARY 		  libc.lib
-LIBRARY		      libglib.lib
-LIBRARY 		  libstdcpp.lib
+LIBRARY         libc.lib
+LIBRARY         libglib.lib
+LIBRARY         libstdcpp.lib
 LIBRARY         flogger.lib
-//LIBRARY 		hgcontextutility.lib 					// For Teleport
+//LIBRARY       hgcontextutility.lib 					// For Teleport
 LIBRARY		akntransitionutils.lib
-// EXPORTUNFROZEN 
+LIBRARY		goommonitor.lib      //For GOOM
 
 // End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/uiutilities/inc/glxrequestfreegoom.h	Mon Jun 21 15:40:32 2010 +0300
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2008-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:    Request Goom to free memroy in asynch way
+ *
+ */
+
+#ifndef GLXREQUESTFREEGOOM_H_
+#define GLXREQUESTFREEGOOM_H_
+
+#include <goommonitorsession.h>
+
+//observer class to notify events
+class MGoomNotifierObserver
+    {
+public:
+    virtual void HandleGoomMemoryReleased(TInt aStatus) = 0;
+    };
+
+/**
+ * class declaration
+ */
+class CGlxRelaseGPUMemory : public CActive
+    {
+public:
+    /**
+     * Two-phased constructor.
+     */
+    IMPORT_C
+    static CGlxRelaseGPUMemory* NewL(MGoomNotifierObserver& aNotify);
+
+    /**
+     * Two-phased constructor.
+     */
+    static CGlxRelaseGPUMemory* NewLC(MGoomNotifierObserver& aNotify);
+    /**
+     * Destructor
+     */
+    ~CGlxRelaseGPUMemory();
+    /*
+     * Start Memory release process
+     */
+    IMPORT_C void RequestMemory();
+private:
+    /**
+     * Default constructor
+     */
+    CGlxRelaseGPUMemory(MGoomNotifierObserver& aNotify);
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private:
+    /**
+     * active object's default implelemtaions
+     */
+    void RunL();
+    void DoCancel();
+
+    /**
+     * IssueRequest 
+     */
+    void IssueRequest();
+
+private:
+    /**
+     * reference of observer
+     */
+    MGoomNotifierObserver& iNotify;
+    RGOomMonitorSession iGoom;
+    TBool iIsFirstRequest;
+    
+#ifdef _DEBUG
+    TTime iStartTime;
+    TTime iStopTime;
+#endif
+
+    };
+
+#endif /* GLXREQUESTFREEGOOM_H_ */
--- a/photosgallery/viewframework/uiutilities/src/glxanimationfactory.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/uiutilities/src/glxanimationfactory.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -40,9 +40,10 @@
     CGlxAnimationView* anim = NULL;
     
     RPointerArray<CAlfControlGroup> controlGroupArray;
-    controlGroupArray.Append(aControlGroup);
+	CleanupClosePushL(controlGroupArray);
+    controlGroupArray.AppendL(aControlGroup);
     anim = CGlxAnimationView::NewL(aAnimType, aDirection, controlGroupArray);
-    controlGroupArray.Reset();
+    CleanupStack::PopAndDestroy(&controlGroupArray);
     
     return anim;
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/uiutilities/src/glxrequestfreegoom.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2008-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:    Request Goom to free memory in asynch way
+ *
+ */
+
+#include <glxtracer.h>
+#include <glxlog.h>
+
+#include "glxrequestfreegoom.h"
+
+const TInt KMinMemoryRequest = 3145728; // 3 MB
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::NewL
+// ----------------------------------------------------------------------------
+//
+EXPORT_C CGlxRelaseGPUMemory* CGlxRelaseGPUMemory::NewL(
+        MGoomNotifierObserver& aNotify)
+    {
+    TRACER("CGlxRelaseGPUMemory::NewL()");
+    CGlxRelaseGPUMemory* self = CGlxRelaseGPUMemory::NewLC(aNotify);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::NewLC
+// ----------------------------------------------------------------------------
+//
+CGlxRelaseGPUMemory* CGlxRelaseGPUMemory::NewLC(
+        MGoomNotifierObserver& aNotify)
+    {
+    TRACER("CGlxRelaseGPUMemory::NewLC()");
+    CGlxRelaseGPUMemory* self = new (ELeave) CGlxRelaseGPUMemory(aNotify);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    return self;
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::CGlxRelaseGPUMemory
+// ----------------------------------------------------------------------------
+//
+CGlxRelaseGPUMemory::CGlxRelaseGPUMemory(MGoomNotifierObserver& aNotify) :
+    CActive(CActive::EPriorityStandard), iNotify(aNotify), iIsFirstRequest(
+            ETrue)
+    {
+    TRACER("CGlxRelaseGPUMemory::CGlxRelaseGPUMemory()");
+    CActiveScheduler::Add(this);
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::~CGlxRelaseGPUMemory()
+// ----------------------------------------------------------------------------
+//
+CGlxRelaseGPUMemory::~CGlxRelaseGPUMemory()
+    {
+    TRACER("CGlxRelaseGPUMemory::~CGlxRelaseGPUMemory()");
+    Cancel();
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::IssueRequest()
+// ----------------------------------------------------------------------------
+//
+void CGlxRelaseGPUMemory::IssueRequest()
+    {
+    TRACER("CGlxRelaseGPUMemory::IssueRequest()");
+    if (!IsActive())
+        {
+#ifdef _DEBUG
+        iStartTime.HomeTime();
+#endif                          
+        iGoom.RequestFreeMemory(KMinMemoryRequest, iStatus);
+        SetActive();
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::ConstructL()
+// ----------------------------------------------------------------------------
+//
+void CGlxRelaseGPUMemory::ConstructL()
+    {
+    TRACER("CGlxRelaseGPUMemory::ConstructL()");
+    TInt err = iGoom.Connect();
+    GLX_LOG_INFO1("CGlxRelaseGPUMemory::ConstructL %d", err);
+    User::LeaveIfError(err);
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::RequestMemory()
+// ----------------------------------------------------------------------------
+//
+EXPORT_C void CGlxRelaseGPUMemory::RequestMemory()
+    {
+    TRACER("CGlxRelaseGPUMemory::RequestMemory()");
+    IssueRequest();
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::DoCancel()
+// ----------------------------------------------------------------------------
+//
+void CGlxRelaseGPUMemory::DoCancel()
+    {
+    TRACER("CGlxRelaseGPUMemory::DoCancel()");
+    iGoom.CancelRequestFreeMemory();
+    iGoom.Close();
+    }
+
+// ----------------------------------------------------------------------------
+// CGlxRelaseGPUMemory::RunL
+// ----------------------------------------------------------------------------
+//
+void CGlxRelaseGPUMemory::RunL()
+    {
+    TRACER("CGlxRelaseGPUMemory::RunL()");
+    GLX_LOG_INFO1("CGlxRelaseGPUMemory::RunL %d", iStatus.Int());
+#ifdef _DEBUG
+    iStopTime.HomeTime();
+    GLX_DEBUG2("CGlxRelaseGPUMemory: Mem free GOOM took <%d> us",
+            (TInt)iStopTime.MicroSecondsFrom(iStartTime).Int64());
+#endif                          
+
+    if (iIsFirstRequest && (iStatus.Int() != KErrNone))
+        {
+        iIsFirstRequest = EFalse;
+        IssueRequest();
+        return;
+        }
+
+    // Notify observer on the RequestFreeMemory() status
+    iNotify.HandleGoomMemoryReleased(iStatus.Int());
+    }
--- a/photosgallery/viewframework/views/cloudview/src/glxcloudviewcontrol.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/cloudview/src/glxcloudviewcontrol.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -1411,11 +1411,10 @@
     TRACER("GLX_CLOUD::CGlxCloudViewControl::HandlePointerEventL");
     CAlfVisual* tappedvisual = aEvent.Visual();	
     TBool consumed = EFalse;
-    
 
     if(aEvent.PointerEvent().iType == TPointerEvent::EButton1Down)
         {	
-        iDownEventReceived = EFalse;
+        iDownEventReceived = ETrue;
         //reset variables & Physics simulator 
         iPhysics->StopPhysics();
         iPhysics->ResetFriction();
@@ -1431,7 +1430,6 @@
         //If the grid is already shown , disable it
         if(iTagsContextMenuControl->ItemMenuVisibility())
            {
-           iDownEventReceived = ETrue;
            iTagsContextMenuControl->ShowItemMenuL(EFalse);
            return ETrue;
            }
@@ -1457,20 +1455,17 @@
                 }
             }
         }
-    else if(iDownEventReceived)
-        {
-        consumed = ETrue;
-        }
-    else if (aEvent.PointerEvent().iType == TPointerEvent::EDrag)
+    else if (iDownEventReceived && aEvent.PointerEvent().iType == TPointerEvent::EDrag)
         {
         GLX_LOG_INFO("GLX_CLOUD :: CGlxCloudViewControl::HandlePointerEventL(EDrag) event");
-        
+
         iTouchFeedback->InstantFeedback(ETouchFeedbackBasic);
 
         consumed = HandleDragL(aEvent.PointerEvent());
         }
-    else if (aEvent.PointerUp())
+    else if (iDownEventReceived && aEvent.PointerUp())
         {
+        iDownEventReceived = EFalse;
         Display()->Roster().SetPointerEventObservers(0, *this);
         consumed = ETrue;
         
@@ -1700,7 +1695,8 @@
 // offerEvent()
 // ---------------------------------------------------------------------------
 //
-AlfEventStatus CGlxCloudViewControl::offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent )
+AlfEventStatus CGlxCloudViewControl::offerEvent(CAlfWidgetControl& aControl,
+        const TAlfEvent& aEvent)
     {
     TRACER("GLX_CLOUD::CGlxCloudViewControl::offerEvent");  
     AlfEventStatus status = EEventNotHandled;  
@@ -1759,7 +1755,8 @@
 // accept()
 // ---------------------------------------------------------------------------
 //   
-bool CGlxCloudViewControl::accept ( CAlfWidgetControl& /*aControl*/, const TAlfEvent& aEvent ) const
+bool CGlxCloudViewControl::accept(CAlfWidgetControl& /*aControl*/,
+        const TAlfEvent& aEvent) const
     {
     TRACER("GLX_CLOUD::CGlxCloudViewControl::accept");
     if(	aEvent.CustomParameter() == EEventScrollPageUp 	||
@@ -1777,12 +1774,12 @@
 // ---------------------------------------------------------------------------
 //	
 void CGlxCloudViewControl::InitializeScrollBar(IAlfScrollBarWidget* aScrollBarWidget)
-    { 
+    {
     TRACER("GLX_CLOUD::CGlxCloudViewControl::InitializeScrollBar");
-    iScrollBarWidget=aScrollBarWidget;
-    ((IAlfScrollBarModel *)(iScrollBarWidget->model()))->initializeData(iScrollEventData.mSpan,
-            iScrollEventData.mViewLength,0);													           
-    DisplayScrollBar();	
+    iScrollBarWidget = aScrollBarWidget;
+    ((IAlfScrollBarModel *) (iScrollBarWidget->model()))->initializeData(
+            iScrollEventData.mSpan, iScrollEventData.mViewLength, 0);
+    DisplayScrollBar();
     }
 
 // ---------------------------------------------------------------------------
@@ -1840,21 +1837,21 @@
 //
 void CGlxCloudViewControl::DisplayScrollBar() 
     {
-    if( iScrollBarWidget )
+    if (iScrollBarWidget)
         {
         IAlfElement* vertBaseElement =(iScrollBarWidget->control()->findElement ("BaseElement"));
         IAlfScrollBarDefaultBaseElement* scrollbarbaselement=static_cast<IAlfScrollBarDefaultBaseElement*> (
             vertBaseElement->makeInterface (IAlfScrollBarDefaultBaseElement::type() ) );
 
-        if( iScrollEventData.mSpan )
-            {       
-            scrollbarbaselement->setThumbOpacity(1.0);  
+        // To set the scrollbar visibility, it's enough to set the opacity 
+        // of baselayout. No need to set the opacity of thumb separately. 
+        if (iScrollEventData.mSpan)
+            {
             //make scroll bar visible
             scrollbarbaselement->setOpacity(1.0);
             }
         else
             {
-            scrollbarbaselement->setThumbOpacity(0.0);  
             //make scroll bar invisible
             scrollbarbaselement->setOpacity(0.0);
             }
--- a/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h	Mon Jun 21 15:40:32 2010 +0300
@@ -309,6 +309,10 @@
      */
     TBool CheckIfSliderToBeShownL();
 
+    /**
+     * Update coverflow items after zoom/foreground event
+     */
+    void UpdateItems();
 
 private:
     /** Softkey resource id's */
--- a/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -96,12 +96,19 @@
  */
 const TInt KPeriodicIntervalDelay = 500000; 
 
-//This constant is used to calculate the index of the item for which texture has to removed.
-//6 = 5(iterator value in forward or backward direction for fullscreen) + 1(focus index)
-const TInt KFullScreenIterator = 3; 
-//Constant which says maximum number of fullscreen textures that we have have at a time.
-//11 = (5(5 fullscreen texture backwards)+1(fucus index texture)+5(5 fullscreen texture forwards))
-const TInt KFullScreenTextureOffset = 5;
+/** 
+ * Fullscreen texture offset 
+ */ 
+const TInt KTextureOffset = 2; 
+
+// This constant is used to calculate the index of the item 
+// for which texture has to removed.
+const TInt KFullScreenIterator = KTextureOffset + 1; 
+
+// This constant is used to calculate the maximum number of fullscreen textures 
+// needs to be updated during foreground event.
+const TInt KFullScreenTextureOffset = KFullScreenIterator + KTextureOffset;
+
 const TInt KGlxDecodingThreshold = 3000000; // pixels
 
 _LIT( KTfxResourceActivateFullScreen, "z:\\resource\\effects\\photos_fullscreen_open.fxml" );
@@ -354,9 +361,10 @@
 
     //Create hdmicontroller when it is only launched from fullscreen.  
     //From filemanager show only clone mode.
+    iHdmiController = CGlxHdmiController::NewL(*this); 
+    
     if( !iImgViewerMode )    
         {
-        iHdmiController = CGlxHdmiController::NewL(*this);    
         SetItemToHDMIL();
         }
     iScreenFurniture->SetActiveView(iViewUid);
@@ -699,8 +707,7 @@
      * We will not do any zoom while HDMI is connected.
      * This is as part of HDMI improvements.
      */
-    if (!iImgViewerMode && iHdmiController 
-				&& iHdmiController->IsHDMIConnected())
+    if (iHdmiController && iHdmiController->IsHDMIConnected())
         {
         // Hide zoom slider in HDMI mode as Zoom is disable.
         // Let the other screen furnitures intact.
@@ -793,6 +800,7 @@
     {
     TRACER("CGlxFullScreenViewImp::DeactivateZoomControlL");
     ActivateFullScreenL();
+    UpdateItems();
     //Deactivate HDMI controller for zoom out while pinch zooming.
     if(iHdmiController)
         {
@@ -950,8 +958,7 @@
 				}
 			else if (iMediaListMulModelProvider)
 				{
-				TInt focusIndex = iMediaList->FocusIndex();
-				iMediaListMulModelProvider->UpdateItems(focusIndex, 1);
+	            UpdateItems();
 
 				if (iHdmiController)
 					{
@@ -1275,15 +1282,22 @@
 //
  void CGlxFullScreenViewImp::HandleCommandL(TInt aCommandId, CAlfControl* aControl) 
 	 {
-	 TRACER("CGlxFullScreenViewImp::HandleCommandLCAlfControl");
-	 //Gets a callback from zoomview if zoomlevel goes beyound the launch zoomlevel
-	 // and activates the fullscreenview
-	 if((aControl == iZoomControl)&& (aCommandId == KGlxZoomOutCommand))
-	     {
-	     SetSliderLevel();
-	     DeactivateZoomControlL();
-	     }
-	 } 
+    TRACER("CGlxFullScreenViewImp::HandleCommandLCAlfControl");
+    //Gets a callback from zoomview if zoomlevel goes beyound the launch zoomlevel
+    // and activates the fullscreenview
+    if (aControl == iZoomControl)
+        {
+        if (aCommandId == KGlxZoomOutCommand)
+            {
+            SetSliderLevel();
+            DeactivateZoomControlL();
+            }
+        else if(aCommandId == KGlxZoomOrientationChange)
+            {
+            iViewWidget->setRect(TRect(TPoint(0,0),AlfUtil::ScreenSize()));
+            }
+        }
+	} 
 
 // ---------------------------------------------------------------------------
 // From HandleResourceChangeL..
@@ -1501,19 +1515,27 @@
                 iPeriodic->Cancel();
                 }
 
-            CGlxNavigationalState* navigationalState =
-                    CGlxNavigationalState::InstanceL();
-            CleanupClosePushL(*navigationalState);
-            CMPXCollectionPath* naviState = navigationalState->StateLC();
-            if (naviState->Id() == TMPXItemId(
-                    KGlxCollectionPluginImageViewerImplementationUid))
+            if (iImgViewerMode)
                 {
-                GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiryNoteL()"
-                        "- ShowErrorNoteL()");
-                GlxGeneralUiUtilities::ShowErrorNoteL(tnError);
+                GLX_LOG_INFO1("CGlxFullScreenViewImp::ShowDrmExpiryNoteL()"
+                        "- ShowErrorNoteL(%d)", tnError);
+                if (tnError == KErrNoMemory || tnError == KErrNotSupported
+                        || tnError == KErrInUse || tnError == KErrDiskFull
+                        || tnError == KErrTimedOut || tnError
+                        == KErrPermissionDenied)
+                    {
+                    GlxGeneralUiUtilities::ShowErrorNoteL(tnError);
+                    }
+                else
+                    {
+                    // Generic "Unable to open image" error note
+                    HBufC* str = StringLoader::LoadLC(
+                            R_GLX_ERR_FORMAT_UNKNOWN);
+                    CAknErrorNote* note = new (ELeave) CAknErrorNote(ETrue);
+                    note->ExecuteLD(*str); // ignore return value, not used
+                    CleanupStack::PopAndDestroy(str);
+                    }
                 }
-            CleanupStack::PopAndDestroy(naviState);
-            CleanupStack::PopAndDestroy(navigationalState);
             }
         }
     }
@@ -1791,20 +1813,15 @@
 void CGlxFullScreenViewImp::NavigateToMainListL()
     {
     TRACER("CGlxFullScreenViewImp::NavigateToMainListL()");
-    CGlxNavigationalState* navigationalState =  CGlxNavigationalState::InstanceL();
-    CleanupClosePushL( *navigationalState );
-    CMPXCollectionPath* naviState = navigationalState->StateLC();
-    if (naviState->Id() != TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid))
+    if (!iImgViewerMode)
         {
-        if(iZoomControl && iZoomControl->Activated())
-        	{
-        	SetSliderLevel();
-		    DeactivateZoomControlL();	
-        	}
-        ProcessCommandL(EAknSoftkeyClose);
+        if (iZoomControl && iZoomControl->Activated())
+            {
+            SetSliderLevel();
+            DeactivateZoomControlL();
+            }
+        ProcessCommandL( EAknSoftkeyClose);
         }
-    CleanupStack::PopAndDestroy(naviState);
-    CleanupStack::PopAndDestroy(navigationalState);
     }
 	
 // ---------------------------------------------------------------------------
@@ -1948,3 +1965,66 @@
     {
     TRACER("CGlxFullScreenViewImp::HandleHDMIDecodingEventL()");
     }
+
+// ---------------------------------------------------------------------------
+// UpdateItems
+// ---------------------------------------------------------------------------
+void CGlxFullScreenViewImp::UpdateItems()
+    {
+    TRACER("CGlxFullScreenViewImp::UpdateItems()");
+    TInt focusIndex = iMediaList->FocusIndex();
+    TInt count = iMediaList->Count();
+    GLX_LOG_INFO2("CGlxFullScreenViewImp::UpdateItems()"
+            " focusIndex(%d), count(%d)", focusIndex, count);
+    
+    if (focusIndex != KErrNotFound && count)
+        {        
+        // update the focus index first
+		iMediaListMulModelProvider->UpdateItems(focusIndex, 1);
+
+        TInt startIndex = focusIndex;
+        TInt iteratorCount = (KTextureOffset > count) ? 
+                                count : KTextureOffset;
+        TInt textureCount = (KFullScreenTextureOffset > count)?
+                                count : KFullScreenTextureOffset;
+
+        startIndex = focusIndex - iteratorCount;
+        if (startIndex < 0)
+            {
+            startIndex = count + startIndex;
+            }
+
+        TInt i = 0;
+        //Update all the textures in the window
+        while (i < textureCount)
+            {
+            if (startIndex != focusIndex)
+                {
+                GLX_LOG_INFO1("CGlxFullScreenViewImp::UpdateItems(%d)", startIndex);
+                iMediaListMulModelProvider->UpdateItems(startIndex, 1);
+                }
+            if (++startIndex == count)
+                {
+                startIndex = 0;
+                }
+            i++;
+            }
+        
+        // When the focused index is first or last, 
+        // need to update the items adjacent to KFullScreenIterator also!
+        if (count > (KFullScreenTextureOffset))
+            {
+            TInt lastIndex = count - 1;
+            if (focusIndex == 0)
+                {
+                iMediaListMulModelProvider->UpdateItems(KFullScreenIterator,
+                        1);
+                }
+            else if (focusIndex == lastIndex)
+                {
+                iMediaListMulModelProvider->UpdateItems(lastIndex
+                        - KFullScreenIterator, 1);
+                }
+            }
+        }
+    }
--- a/photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -133,16 +133,32 @@
     HBufC8* activationParam = HBufC8::NewLC(KMaxUidName);
     activationParam->Des().AppendNum(KGlxActivationCmdShowAll);    
 
-    //Do not animate the view if launched from camera application.
+    // Start Animating the view when launched from other views 
+    // except if launched from Camera App.
     if (aCustomMessage.Compare(activationParam->Des()) != 0) 
-        {    
+        {
         GfxTransEffect::BeginFullScreen( transitionID, TRect(),
                                     AknTransEffect::EParameterType, 
                                     AknTransEffect::GfxTransParam( KPhotosUid,
                                     AknTransEffect::TParameter::EEnableEffects) );	
         GfxTransEffect::EndFullScreen();
         }
-	
+    else
+    	{
+		// Launched from Camera App, Check if there is any existing filter
+    	// and clear the 'MaxCount' filter, if supported to show all images.
+		GLX_DEBUG1("CGlxGridViewImp::DoMLViewActivateL() - "
+				"Launched From Camera");
+		CMPXFilter* filter = iMediaList->Filter();
+		if (filter && filter->IsSupported(KGlxFilterGeneralMaxCount))
+			{
+			GLX_DEBUG1( "CGlxGridViewImp::DoMLViewActivateL()- "
+					"Clear MaxCount filter");
+			filter->SetTObjectValueL<TInt> (KGlxFilterGeneralMaxCount, 0);
+			iMediaList->SetFilterL(filter);
+			}
+    	}
+    
 	CleanupStack::PopAndDestroy(activationParam);
 	
 	if(StatusPane())
--- a/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -163,11 +163,6 @@
             iHgGrid->InsertItem(CHgItem::NewL(), i);
             }
         }
-
-    // Setting the initial focus for all grid views except downloads,
-    // for downloads it is already set.
-    TInt focusIndex = aList->FocusIndex();
-    iHgGrid->SetSelectedIndex(focusIndex);
     }
 
 // ----------------------------------------------------------------------------
@@ -284,12 +279,15 @@
 // ----------------------------------------------------------------------------
 //  
 void CGlxGridViewMLObserver::HandleFocusChangedL( NGlxListDefs::
-    TFocusChangeType /*aType*/, TInt aNewIndex, TInt /*aOldIndex*/, 
+    TFocusChangeType /*aType*/, TInt aNewIndex, TInt aOldIndex, 
     MGlxMediaList* /*aList*/ )
     {
     TRACER("CGlxGridViewMLObserver::HandleFocusChangedL()");
-    iHgGrid->SetSelectedIndex(aNewIndex);
-    iHgGrid->RefreshScreen(aNewIndex); 
+    if (aOldIndex != KErrNotFound)
+        {
+        iHgGrid->SetSelectedIndex(aNewIndex);
+        iHgGrid->RefreshScreen(aNewIndex);
+        }
 /*    if (aList->Count())
         {
         //  This us to set the context to HG Teleport
--- a/photosgallery/viewframework/views/viewbase/src/glxmedialistviewbase.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/viewbase/src/glxmedialistviewbase.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -167,9 +167,7 @@
                 = &iMediaListFactory->CreateMediaListL(*iCollectionUtility);
 
         if ((navigationalState->Id() != TMPXItemId(
-                KGlxCollectionPluginAlbumsImplementationUid))
-                && (navigationalState->Id() != TMPXItemId(
-                        KGlxCollectionPluginAlbumsImplementationUid)))
+				KGlxCollectionPluginAlbumsImplementationUid)))
             {
             iPreloadContextForCommandHandlers
                     = new (ELeave) CGlxAttributeContext(&iSelectionIterator);
--- a/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -248,7 +248,11 @@
                 iToolbar->RemoveItem(EGlxCmdUpload);
                 }
             }
-        SetToolbarItemsDimmed(EFalse);
+        iToolbar->SetItemDimmed(EGlxCmdSlideshowPlay, EFalse, ETrue);
+        iToolbar->SetItemDimmed(EGlxCmdStartMultipleMarking, EFalse, ETrue);
+        TBool dimmed = aList->SelectionCount() ? EFalse : ETrue;
+        iToolbar->SetItemDimmed(EGlxCmdSend, dimmed, ETrue);
+        iToolbar->SetItemDimmed(EGlxCmdUpload, dimmed, ETrue);
         }
     else if (navigationalState->ViewingMode() == NGlxNavigationalState::EView)
         {
--- a/photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomcontrol.h	Mon Jun 21 15:40:32 2010 +0300
@@ -34,6 +34,7 @@
 #include <glxfullscreenview.hrh>
 #include <glxzoomeventhandler.h>
 #include <mglxtvobserver.h>     // for inteface MGlxTvObserver
+#include "glxrequestfreegoom.h"
 //Gesture Helper namespace
 namespace GestureHelper
     {
@@ -66,6 +67,7 @@
 // Commands sent to the view in response to zoom keys
 const TInt KGlxZoomInCommand    = 1 ;
 const TInt KGlxZoomOutCommand   = 2 ;
+const TInt KGlxZoomOrientationChange   =3;
 const TInt KGlxVerticalImageOrientationThreshold   = 4 ;
 
 /**
@@ -77,7 +79,8 @@
                         public MGlxTextureObserver,
                         public MGlxZoomEventHandlers,
                         public GestureHelper::MGestureObserver,
-                        public MGlxTvObserver
+                        public MGlxTvObserver,
+                        public MGoomNotifierObserver
     {
 public:
     // Constructors and destructor
@@ -236,6 +239,11 @@
     */
     void HandleHDMIGestureReleased();
     
+    /*
+     * @ Notification from MGoomNotifierObserver
+     */
+    void HandleGoomMemoryReleased(TInt aStatus);
+    
 private:    // Data
     CAlfEnv* iEnv;                                      // AlfEnv
     MGlxMediaList& iMediaList;                          // Medialist (not owned)
@@ -266,7 +274,7 @@
     CGlxTv*  iGlxTvOut;
     CPeriodic* iTimer;
     TBool iZoomIn;
-    
+    CGlxRelaseGPUMemory* iGPUMemMonitor;
     };
 
 #endif  // C_GLXZOOMCONTROL_H
--- a/photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/zoomview/inc/glxzoomeventhandler.h	Mon Jun 21 15:40:32 2010 +0300
@@ -277,6 +277,7 @@
     TBool               iDragOngoing;                   // Is a drag event ongoing
     TBool               iZoomActivated;                 // To Denote if zoom is activated
     TUiState            iZoomUiState;                   // To Denote if the Ui is On in zoom
+    TInt                iPrevPinchFactor;                // To avoid the bouce while pinch gesture end
     
     TPoint              iPreviousPointerPosition;
     TPoint              iPreviousDragStartPosition;
--- a/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -118,6 +118,7 @@
     //To know if HDMi cable is connected.
     iGlxTvOut = CGlxTv::NewL(*this);
     iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
+    iGPUMemMonitor = CGlxRelaseGPUMemory::NewL(*this);
     }
 
 // -----------------------------------------------------------------------------
@@ -231,7 +232,12 @@
         iTimer->Cancel();
         }
     delete iTimer;
-
+    
+    if(iGPUMemMonitor)
+        {
+        delete iGPUMemMonitor;
+        }
+    
     if(iGlxTvOut)
         {
         delete iGlxTvOut;
@@ -444,15 +450,14 @@
 EXPORT_C void CGlxZoomControl::Deactivate()
     {
     TRACER("CGlxZoomControl::Deactivate()");
-    
-    if ( iZoomActive )
+    if (iZoomActive)
         {
-         if(iTimer->IsActive())
-           {
-           iTimer->Cancel();           
-           }  
+        if (iTimer->IsActive())
+            {
+            iTimer->Cancel();
+            }
         iZoomSliderWidget.RemoveEventHandler(*this);
-        iZoomBackKey->MakeVisible( EFalse );
+        iZoomBackKey->MakeVisible(EFalse);
         iTextureMgr->RemoveZoomList();
 
         iImageVisual->SetImage(*iImageTexture);
@@ -460,7 +465,7 @@
         CleanUpVisual();
 
         iZoomActive = EFalse;
-        iEventHandler->SetZoomActivated(EFalse);        
+        iEventHandler->SetZoomActivated(EFalse);
         }
     // Hide the Zoom View
     ShowZoom(EFalse);
@@ -473,35 +478,17 @@
 EXPORT_C void CGlxZoomControl::HandleZoomForegroundEvent(TBool aForeground)
     {
     TRACER("CGlxZoomControl::HandleZoomForegroundEventL()");
-
-    //Refeed the textures if we are coming back to foreground from background
-    //To Retrive the image details
-    TMPXAttribute thumbNailAttribute(0,0);
-    TInt focusIndex = iMediaList.FocusIndex();
-    TGlxIdSpaceId idspace = iMediaList.IdSpaceId( focusIndex );
-    //Get the texture Created in fullscreen View.
-    TGlxMedia item = iMediaList.Item( focusIndex );
     
     if (!aForeground)
         {
+        ShowUi(EFalse);
         iEventHandler->CancelZoomPanTimer();
         iEventHandler->CancelUITimer();
         iEventHandler->CancelAnimationTimer();
         }
     else
         {
-        // if we already have the decoded zoomed image bitmap use the texture corresponding to that.
-        // Else make do with the fullscreen texture till that happens.  
-        TRAP_IGNORE(iImageTexture = 
-            iTextureMgr->CreateZoomedTextureL());
-        
-        if (NULL == iImageTexture)
-            {
-            iImageTexture = &(iTextureMgr->CreateNewTextureForMediaL(
-                    ScreenSize(),item, idspace, this ));
-            }
-
-        iImageVisual->SetImage(*iImageTexture);
+        iGPUMemMonitor->RequestMemory();
         }
     } 
 
@@ -643,6 +630,7 @@
         	{
 	        iEventHandler->OrientationChanged(rect);
       		}
+		iCommandHandler.HandleCommandL(KGlxZoomOrientationChange, this);
         }
     }
 
@@ -981,4 +969,44 @@
     TRACER("CGlxZoomControl::ZoomUiState");
     return iEventHandler->ZoomUiState();
     }
+
+// ---------------------------------------------------------------------------
+// HandleGoomMemoryReleased
+// Callback from memMonitor CGlxRelaseGPUMemory
+// ---------------------------------------------------------------------------
+//  
+void CGlxZoomControl::HandleGoomMemoryReleased(TInt aStatus)
+    {
+    TRACER("CGlxZoomControl::HandleGoomMemoryReleased");
+    if (aStatus == KErrNone)
+        {
+        //Refeed the textures if we are coming back to foreground from background
+        //To Retrive the image details
+        TMPXAttribute thumbNailAttribute(0, 0);
+        TInt focusIndex = iMediaList.FocusIndex();
+        TGlxIdSpaceId idspace = iMediaList.IdSpaceId(focusIndex);
+        //Get the texture Created in fullscreen View.
+        TGlxMedia item = iMediaList.Item(focusIndex);
+
+        // if we already have the decoded zoomed image bitmap use the texture corresponding to that.
+        // Else make do with the fullscreen texture till that happens.  
+        TRAP_IGNORE(iImageTexture =
+                iTextureMgr->CreateZoomedTextureL());
+
+        if (NULL == iImageTexture)
+            {
+            TRAP_IGNORE(iImageTexture = &(iTextureMgr->CreateNewTextureForMediaL(
+                                    ScreenSize(), item, idspace, this)))
+            }
+
+        if (NULL != iImageTexture)
+            {
+            iImageVisual->SetImage(*iImageTexture);
+            return;
+            }
+        }
+
+    // No GPU Memory, return back to Fullscreenview
+    ActivateFullscreen();
+    }
 //  End of File
--- a/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -51,8 +51,7 @@
 
 const TInt KGlxPanInertiaFrameInmS      = 20000     ;
 
-//Zoom Factor to keep the relative Zoom Ratio 
-//same while changing orientation.
+// The (neutral) zoom factor above which all zooms caused are zoom-ins and below , zoom-outs.
 const TInt KGlxNeutralZoomFactor = 100;
 
 using namespace GestureHelper;
@@ -64,10 +63,12 @@
 // NewL
 //----------------------------------------------------------------------------------
 //
-CGlxZoomPanEventHandler* CGlxZoomPanEventHandler::NewL(MGlxZoomEventHandlers& aZoomEventHandler)
+CGlxZoomPanEventHandler* CGlxZoomPanEventHandler::NewL(
+        MGlxZoomEventHandlers& aZoomEventHandler)
     {
     TRACER("CGlxZoomPanEventHandler::NewL");
-    CGlxZoomPanEventHandler* self = new (ELeave) CGlxZoomPanEventHandler(aZoomEventHandler);
+    CGlxZoomPanEventHandler* self = new (ELeave) CGlxZoomPanEventHandler(
+            aZoomEventHandler);
     CleanupStack::PushL(self);
     self->ConstructL();
     CleanupStack::Pop(self);
@@ -78,8 +79,10 @@
 // CGlxZoomPanEventHandler constructor
 //----------------------------------------------------------------------------------
 //
-CGlxZoomPanEventHandler::CGlxZoomPanEventHandler(MGlxZoomEventHandlers& aZoomEventHandler):
-        iZoomEventHandler(aZoomEventHandler)
+CGlxZoomPanEventHandler::CGlxZoomPanEventHandler(
+        MGlxZoomEventHandlers& aZoomEventHandler) :
+    iZoomEventHandler(aZoomEventHandler), iPrevPinchFactor(
+            KGlxNeutralZoomFactor)
     {
     TRACER("CGlxZoomPanEventHandler::CGlxZoomPanEventHandler()");
     // No Implementation
@@ -110,7 +113,6 @@
         delete iZoomAnimationTimer;
         iZoomAnimationTimer = NULL;
         }
-   
     }
 
 //----------------------------------------------------------------------------------
@@ -139,32 +141,34 @@
 //----------------------------------------------------------------------------------
 //
 // Todo: Combine logics of setting up animated zoom and pan.
-void CGlxZoomPanEventHandler::SetupAnimatedZoom(TZoomMode aZoomMode, TPoint* /*aZoomFocus*/)
+void CGlxZoomPanEventHandler::SetupAnimatedZoom(TZoomMode aZoomMode, 
+        TPoint* /*aZoomFocus*/)
     {
     TRACER("CGlxZoomPanEventHandler::SetupAnimatedZoom");
-    
-    iTargetAnimatedZoomRatio = (iMaxZoomRatio + iMinZoomRatio)/2 ;
-    
+
+    iTargetAnimatedZoomRatio = (iMaxZoomRatio + iMinZoomRatio) / 2;
+
     CancelAnimationTimer();
     CancelUITimer();
-    
+
     //ToDo: Verify this with images slightly smaller or slightly larger than fullscreen size. 
     if (EZoomIn == aZoomMode)
         {
         // the '1+' is to take care of the situation when there the rest of the equation returns something betn 0 and 1
-        iZoomPerInterval = 1 + (iTargetAnimatedZoomRatio - iZoomRatio)/KGlxAnimeFrameCount ; 
+        iZoomPerInterval = 1 + (iTargetAnimatedZoomRatio - iZoomRatio)
+                / KGlxAnimeFrameCount;
         }
     else
         {
-        iZoomPerInterval = 1 + (iZoomRatio - iMinZoomRatio)/KGlxAnimeFrameCount;
+        iZoomPerInterval = 1 + (iZoomRatio - iMinZoomRatio)
+                / KGlxAnimeFrameCount;
         }
-    
-    
+
     if (1 < iZoomPerInterval)
         {
         iIsZoomingInAnimatedState = ETrue;
-        
-        switch(aZoomMode)
+
+        switch (aZoomMode)
             {
             case EZoomIn:
                 iAnimatedZoomMode = EAnimationModeZoomIn;
@@ -174,24 +178,23 @@
                 break;
             }
 
-        iZoomAnimationTimer->Start( 0,  
-                KGlxAnimeFrameInmS, 
-                TCallBack( ActivationIntervalElapsed,(TAny*)this) );
+        iZoomAnimationTimer->Start(0, KGlxAnimeFrameInmS, TCallBack(
+                ActivationIntervalElapsed, (TAny*) this));
         }
     else
-        // Cant zoom in/out at less than 1 percent. so directly jump to the target zoom ratio.
-        // This happens in cases where there is not much difference between the source and target zoom levels
+    // Cant zoom in/out at less than 1 percent. so directly jump to the target zoom ratio.
+    // This happens in cases where there is not much difference between the source and target zoom levels
         {
-        TInt targetZoomRatio = 0;  
+        TInt targetZoomRatio = 0;
         if (EZoomIn == aZoomMode)
             {
-            targetZoomRatio = iTargetAnimatedZoomRatio ;
+            targetZoomRatio = iTargetAnimatedZoomRatio;
             }
         else
             {
-            targetZoomRatio = iMinZoomRatio ;
+            targetZoomRatio = iMinZoomRatio;
             }
-        Zoom(targetZoomRatio, 0) ;
+        Zoom(targetZoomRatio, 0);
         }
     }
 
@@ -231,8 +234,10 @@
     Zoom(targetZoomLevel, 0, EZoomIn, &iZoomFocus );
 
     // The boundary conditions. 
-    if ( (( targetZoomLevel >= iTargetAnimatedZoomRatio ) && (EAnimationModeZoomIn == iAnimatedZoomMode ) ) 
-            || ((targetZoomLevel <= iMinZoomRatio) && (EAnimationModeZoomOut == iAnimatedZoomMode)))
+    if (((targetZoomLevel >= iTargetAnimatedZoomRatio)
+            && (EAnimationModeZoomIn == iAnimatedZoomMode))
+            || ((targetZoomLevel <= iMinZoomRatio) && (EAnimationModeZoomOut
+                    == iAnimatedZoomMode)))
         {
         iIsZoomingInAnimatedState = EFalse;
         CancelAnimationTimer();
@@ -338,8 +343,9 @@
 //
 TBool CGlxZoomPanEventHandler::HandlekeyEvents(const TAlfEvent &aEvent)
     {
-    TRACER("CGlxZoomControl::HandlekeyEvents()");
-    GLX_LOG_INFO1("CGlxZoomPanEventHandler::HandlekeyEvents. Scancode = %d   ", aEvent.KeyEvent().iScanCode);
+    TRACER("CGlxZoomPanEventHandler::HandlekeyEvents()");
+    GLX_LOG_INFO1("CGlxZoomPanEventHandler::HandlekeyEvents.Scancode = %d", 
+            aEvent.KeyEvent().iScanCode);
 
     TBool consumed = EFalse;
     
@@ -410,10 +416,10 @@
 // HandleZoomKey:Zooms the image on zoom stripe action.
 // -----------------------------------------------------------------------------
 //
-void CGlxZoomPanEventHandler::HandleZoomKey(TZoomMode aZoomMode ,
+void CGlxZoomPanEventHandler::HandleZoomKey(TZoomMode aZoomMode,
         TEventCode aEventCode)
     {
-    TRACER("CGlxZoomControl::HandleZoomKey ");
+    TRACER("CGlxZoomPanEventHandler::HandleZoomKey ");
     if ( iZoomActivated )
         {
         switch(aEventCode)
@@ -432,7 +438,6 @@
         }
     }
 
-
 // -----------------------------------------------------------------------------
 // SetupPanOperation: start the pan operation for Key based pan. 
 // -----------------------------------------------------------------------------
@@ -577,11 +582,11 @@
 // HandleDragEvent
 // -----------------------------------------------------------------------------
 //
-void CGlxZoomPanEventHandler::HandleDragEvent(const GestureHelper::MGestureEvent& aEvent )
+void CGlxZoomPanEventHandler::HandleDragEvent(
+        const GestureHelper::MGestureEvent& aEvent)
     {
-    TRACER("CGlxZoomControl::HandleDragEvent (GestureHelper::MGestureEvent&)");
+    TRACER("CGlxZoomPanEventHandler::HandleDragEvent(GestureHelper::MGestureEvent&)");
     
-
     // Ignore events when we are animating in Zoom
     if (iIsZoomingInAnimatedState)
         {
@@ -598,15 +603,16 @@
         iPreviousPointerPosition = startPos;
         }
     
-    TPoint offset((iPreviousPointerPosition.iX - currPos.iX) , (iPreviousPointerPosition.iY - currPos.iY));
+    TPoint offset((iPreviousPointerPosition.iX - currPos.iX),
+            (iPreviousPointerPosition.iY - currPos.iY));
     
     HideScreenFurniture();
 
     TPoint topLeftCorner(0,0);    
     iMathsEngine.Pan(offset, topLeftCorner, EGlxPanIncrementUniform);
     
-
-    iZoomEventHandler.HandleViewPortParametersChanged(topLeftCorner, KGlxAnimationTimeDrag);
+    iZoomEventHandler.HandleViewPortParametersChanged(topLeftCorner,
+            KGlxAnimationTimeDrag);
     
     iPreviousPointerPosition = currPos ;
     iPreviousDragStartPosition = startPos;
@@ -616,12 +622,12 @@
 // HandleGestureReleased
 // -----------------------------------------------------------------------------
 //
-void CGlxZoomPanEventHandler::HandleGestureReleased(const GestureHelper::MGestureEvent& /*aEvent*/ )
+void CGlxZoomPanEventHandler::HandleGestureReleased(
+        const GestureHelper::MGestureEvent& /*aEvent*/)
     {
     TRACER("CGlxZoomPanEventHandler::HandleGestureReleasedEvent(const GestureHelper::MGestureEvent& )");
     
-    if ( /*(EGestureUnknown  == iPreviousGestureCode)
-          ||*/(EGestureSwipeLeft  == iPreviousGestureCode)
+    if ( (EGestureSwipeLeft  == iPreviousGestureCode)
           ||(EGestureSwipeRight == iPreviousGestureCode)
           ||(EGestureSwipeUp    == iPreviousGestureCode)
           ||(EGestureSwipeDown  == iPreviousGestureCode))
@@ -667,12 +673,14 @@
         }
     else
         {
-        TPoint topLeftCorner(0,0);    
-        TBool thresholdReached = EFalse; 
-        iMathsEngine.Pan(inertiaOffset, topLeftCorner, EGlxPanIncrementInertic, &thresholdReached);
-        
-        iZoomEventHandler.HandleViewPortParametersChanged(topLeftCorner, KGlxAnimationTimeDrag);
-        
+        TPoint topLeftCorner(0, 0);
+        TBool thresholdReached = EFalse;
+        iMathsEngine.Pan(inertiaOffset, topLeftCorner,
+                EGlxPanIncrementInertic, &thresholdReached);
+
+        iZoomEventHandler.HandleViewPortParametersChanged(topLeftCorner,
+                KGlxAnimationTimeDrag);
+
         // we dont want to continue animated PAN if we have reached one end of the image.
         if (thresholdReached)
             {
@@ -692,9 +700,10 @@
 // HandlePinchEvent
 // -----------------------------------------------------------------------------
 //
-void CGlxZoomPanEventHandler::HandlePinchEventL(const GestureHelper::MGestureEvent& aEvent )
+void CGlxZoomPanEventHandler::HandlePinchEventL(
+        const GestureHelper::MGestureEvent& aEvent)
     {
-    TRACER("CGlxZoomControl::HandlePinchEvent(GestureHelper::MGestureEvent&)");
+    TRACER("CGlxZoomPanEventHandler::HandlePinchEvent(GestureHelper::MGestureEvent&)");
 
     // Ignore events when we are animating in Zoom
     if (iIsZoomingInAnimatedState)
@@ -703,17 +712,33 @@
         }
     
     TPoint pinchFocus       = aEvent.PinchCentrePoint();
-    TInt pinchPercentage    = aEvent.PinchPercent();  // Wrong convention in variable nomenclature but better than ratioInPercentOfChangeInPinchDistance which is incidentally correct 
+   // Wrong convention in variable nomenclature but better than 
+   // ratioInPercentOfChangeInPinchDistance which is incidentally correct 
+    TInt pinchPercentage    = aEvent.PinchPercent();  
 
+	if (( iPrevPinchFactor >= KGlxNeutralZoomFactor ) && 
+        ( pinchPercentage < KGlxNeutralZoomFactor ))
+        {
+		iPrevPinchFactor = pinchPercentage ;
+		//This will result in we ignoring this event
+		pinchPercentage = KGlxNeutralZoomFactor;
+        }
+	else
+        {	
+		iPrevPinchFactor = pinchPercentage ;
+        }
+	
     // pinchPercentage == 100 => No change in finger distance => No Zoom. 
-    // A negative Pinch percentage signifies an error in calculations. So NOT handling these
-    if ( (pinchPercentage != 100)
+    // A negative Pinch percentage signifies an error in calculations. 
+	// So NOT handling these
+    if ( (pinchPercentage != KGlxNeutralZoomFactor)
             && (pinchPercentage > 0) )
         {
         Zoom(0, pinchPercentage, EZoomIn, &pinchFocus);
         }
     
     HideScreenFurniture();
+    GLX_LOG_INFO1("CGlxZoomPanEventHandler::HandlePinchEventL: Percentage [%d]" , pinchPercentage);
     }
 
 // -----------------------------------------------------------------------------
@@ -722,7 +747,7 @@
 //
 void CGlxZoomPanEventHandler::HandleDoubleTap(const GestureHelper::MGestureEvent& /*aEvent*/ )
     {
-    TRACER("CGlxZoomControl::HandleDoubleTap(GestureHelper::MGestureEvent&)");
+    TRACER("CGlxZoomPanEventHandler::HandleDoubleTap(GestureHelper::MGestureEvent&)");
 
     // Ignore events when we are animating in Zoom
     if (iIsZoomingInAnimatedState)
@@ -762,7 +787,7 @@
 //  
 TInt CGlxZoomPanEventHandler::UiTimeOut(TAny* aSelf)
     {
-    TRACER("CGlxZoomControl::UiTimeOut");
+    TRACER("CGlxZoomPanEventHandler::UiTimeOut");
     if(aSelf)
         {
         CGlxZoomPanEventHandler* self = static_cast <CGlxZoomPanEventHandler*> (aSelf);
@@ -781,7 +806,7 @@
 //  
 TInt CGlxZoomPanEventHandler::ZoomOutTimerL(TAny* aSelf)
     {
-    TRACER("CGlxZoomControl::ZoomOutTimerL");
+    TRACER("CGlxZoomPanEventHandler::ZoomOutTimerL");
     if(aSelf)
         {
         CGlxZoomPanEventHandler* self = static_cast <CGlxZoomPanEventHandler*> (aSelf);
@@ -824,9 +849,11 @@
 
     TBool atPanThreshold = EFalse;
     TPoint topLeftCorner;
-    iMathsEngine.Pan(iPanDirection, topLeftCorner, EGlxPanIncrementExponential,  &atPanThreshold);
-    
-    iZoomEventHandler.HandleViewPortParametersChanged(topLeftCorner, KGlxAnimationTimekeyPan);
+    iMathsEngine.Pan(iPanDirection, topLeftCorner,
+            EGlxPanIncrementExponential, &atPanThreshold);
+
+    iZoomEventHandler.HandleViewPortParametersChanged(topLeftCorner,
+            KGlxAnimationTimekeyPan);
     
     if ( atPanThreshold )
         {
@@ -1017,7 +1044,7 @@
                 {
                 case ETypePrimaryValueChange:
                     {
-                    GLX_LOG_INFO(" CGlxZoomPanEventHandler::HandleEvent: ETypePrimaryValueChange."  );
+                    GLX_LOG_INFO("CGlxZoomPanEventHandler::HandleEvent:ETypePrimaryValueChange");
 
                     MulSliderPos* dataPtr = (MulSliderPos*)(aEvent.CustomEventData());  
                     TInt currentSliderValue = dataPtr->mCurrentValue;
@@ -1041,7 +1068,7 @@
                      {
                      //The Slider is held by user,so cancel the UI Timer
                      //When the slider is held ,the screen furniture shouldn't disappear
-                     GLX_LOG_INFO( " CGlxZoomControl::offerEvent,ECustomEventIconClick");
+                     GLX_LOG_INFO("CGlxZoomPanEventHandler::HandleEvent, ECustomEventIconClick");
                      CancelUITimer();    
                      eventHandledState = ETrue;           
                      }
@@ -1050,8 +1077,9 @@
                 case ECustomEventIconRelease:
                      {
                      //The slider is not held, by the user,start the ui timer to hide the screen furniture
-                     GLX_LOG_INFO( " CGlxZoomControl::offerEvent,ECustomEventIconRelease");
-                     StartUITimer(KGlxScreenTimeout, KGlxScreenTimeout, TCallBack( UiTimeOut,this ) );
+                     GLX_LOG_INFO( " CGlxZoomPanEventHandler::offerEvent,ECustomEventIconRelease");
+                     StartUITimer(KGlxScreenTimeout, KGlxScreenTimeout,
+                            TCallBack(UiTimeOut, this));
                      eventHandledState = ETrue;
                      }
                      break;
@@ -1112,9 +1140,10 @@
 // Zoom
 // -----------------------------------------------------------------------------
 //
-void CGlxZoomPanEventHandler::Zoom(TInt aExpectedZoomLevel, TInt aRelativeZoomFactor, TZoomMode aZoomMode, TPoint* aZoomFocus)
+void CGlxZoomPanEventHandler::Zoom(TInt aExpectedZoomLevel,
+        TInt aRelativeZoomFactor, TZoomMode aZoomMode, TPoint* aZoomFocus)
     {
-    TRACER("CGlxZoomPanEventHandler::ZoomL( )");
+    TRACER("CGlxZoomPanEventHandler::Zoom()");
     
     TPoint          viewPortTopLeft(0,0);
     TSize           viewPortDimension(0,0);
--- a/photosgallery/viewframework/views/zoomview/src/glxzoommathsengine.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/views/zoomview/src/glxzoommathsengine.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -37,8 +37,8 @@
 const TInt KGlxMaxPanUpdateMultiple         =   6       ;
 const TInt KGlxOrigin                       =   0       ;
 
-const TInt KGlxMinRelativeZoomPercent       =   85       ;
-const TInt KGlxMaxRelativeZoomPercent       =   115      ;
+const TInt KGlxMinRelativeZoomPercent       =   70       ;
+const TInt KGlxMaxRelativeZoomPercent       =   130      ;
 
 const TInt KGlxZoomPanInc                   =   10      ; // Min number of pixels panned in one keypress. This value is incremented exponentially by multiples of iPanFactor 
 
@@ -226,7 +226,7 @@
         centerTranslationfactor.iY = (((apZoomFocus->iY - halfScreenHeight  ) * newZoomRatio)/oldZoomRatio) + (halfScreenHeight - apZoomFocus->iY);
         }
 
-    GLX_LOG_INFO1(" Zoom: newZoomRatio = %x.   ", newZoomRatio );
+    GLX_LOG_INFO1(" Zoom: newZoomRatio = %f.   ", newZoomRatio);
     
     TSize imageDimension = TSize(iActualImageSize);
     imageDimension.iWidth =  (imageDimension.iWidth  * newZoomRatio)/100;
@@ -258,37 +258,35 @@
             }
         else
             {
-            TInt weightedBorderHeight = (iBorderWidth.iHeight*(100-((newZoomRatio-iMinZoomRatio)*100/(iMaxZoomRatio-iMinZoomRatio))))/100 ;
             // Is Center positioned such that the top end of the image is inside the 
             // screen. 
-            if( iCenter.iY < (halfScreenHeight - weightedBorderHeight )) 
+            if( iCenter.iY < halfScreenHeight ) 
                 {
-                iCenter.iY = halfScreenHeight - weightedBorderHeight ;
+                iCenter.iY = halfScreenHeight;
                 }
             // Is Center positioned such that the Bottom end of the image is inside the 
             // screen. 
-            else if((iCenter.iY + (halfScreenHeight - weightedBorderHeight ))> imageDimension.iHeight)
+            else if((iCenter.iY + halfScreenHeight)> imageDimension.iHeight)
                 {
                 // if so pan the image so that the edge of the image and screen coincide.
-                iCenter.iY = imageDimension.iHeight - (halfScreenHeight - weightedBorderHeight)  ;
+                iCenter.iY = imageDimension.iHeight - halfScreenHeight ;
                 }
             }
 
         //WIDTH Calculation
-        if((imageDimension.iWidth < iScreenSize.iWidth - BORDER_WIDTH))
+        if(imageDimension.iWidth < iScreenSize.iWidth )
             {
             iCenter.iX=(imageDimension.iWidth/2);
             }
         else
             {
-            TInt weightedBorderWidth = (iBorderWidth.iWidth*(100-((newZoomRatio-iMinZoomRatio)*100/(iMaxZoomRatio-iMinZoomRatio))))/100 ;
-            if( iCenter.iX < (halfScreenWidth - weightedBorderWidth )) 
+            if( iCenter.iX < halfScreenWidth) 
                 {
-                iCenter.iX = (halfScreenWidth - weightedBorderWidth );
+                iCenter.iX = halfScreenWidth;
                 }
-            else if((iCenter.iX + (halfScreenWidth - weightedBorderWidth ))> imageDimension.iWidth)
+            else if((iCenter.iX + halfScreenWidth)> imageDimension.iWidth)
                 {
-                iCenter.iX = imageDimension.iWidth - (halfScreenWidth - weightedBorderWidth ) ;
+                iCenter.iX = imageDimension.iWidth - halfScreenWidth;
                 }
             }
         //Update the TopLeft corner and then re align to the center in the below code
@@ -331,10 +329,9 @@
             // New DIM is less than Old one. and all above conditions fail. 
             // This means that new DIM is smaller than VP DIM. So keep center 'centered'.
             // DIM = dimension
-            else if(iImageVirtualSize.iHeight >  imageDimension.iHeight)      
+            else if(iCenter.iY < halfScreenHeight)      
                 {
-                //This is executed in the Zoom Out Case,In ZoomIn Case the Image is widened.
-                iCenter.iY=(imageDimension.iHeight/2);
+                iCenter.iY=halfScreenHeight;
                 }
             }
 
@@ -356,10 +353,10 @@
                 //Stick the Image to right side and then re-posistion the center 
                 iCenter.iX = imageDimension.iWidth - halfScreenWidth ;
                 }
-            else if(iImageVirtualSize.iWidth >imageDimension.iWidth )
+            else if(iCenter.iX < halfScreenWidth)
                 {
                 //The Image is panned and while zooming out ,the center has to be possistioned to center of the screen.
-                iCenter.iX =(imageDimension.iWidth/2);
+                iCenter.iX = halfScreenWidth;
                 }
             }
         viewPortTopLeft.iX = iCenter.iX - halfScreenWidth;
@@ -417,7 +414,7 @@
         TBool *aThresholdReached)  
     {
     TRACER("TGlxZoomAndPanMathsEngine::NewZoomRatio ");
-    GLX_LOG_INFO1("NewZoomRatio: Old Zoom Ratio = %x .   ",iZoomRatio   );
+    GLX_LOG_INFO1("NewZoomRatio: Old Zoom Ratio = %f       .   ",iZoomRatio   );
     GLX_LOG_INFO1("NewZoomRatio: Expected Zoom Ratio  = %d .   ",aExpectedZoomRatio    );
     GLX_LOG_INFO1("NewZoomRatio: Relative Zoom Factor = %d .   ",aRelativeZoomFactor   );
     
@@ -430,7 +427,7 @@
     else if (aRelativeZoomFactor > 0)
         {
         //Pruning extreme values. Not allowing more than 15% change in zoom ratio.
-        TInt normalizedRelativeZoomFactor = aRelativeZoomFactor ;
+        TReal normalizedRelativeZoomFactor = aRelativeZoomFactor ;
         if (normalizedRelativeZoomFactor < KGlxMinRelativeZoomPercent)
             {
             normalizedRelativeZoomFactor = KGlxMinRelativeZoomPercent;
@@ -439,7 +436,8 @@
             {
             normalizedRelativeZoomFactor = KGlxMaxRelativeZoomPercent;
             }
-        iZoomRatio =  (iZoomRatio * normalizedRelativeZoomFactor)/100 ;
+        iZoomRatio =  (iZoomRatio * ((normalizedRelativeZoomFactor - 100.0F)*0.75F + 100.0F))/100.0F ;
+        GLX_LOG_INFO1("NewZoomRatio: New Zoom Ratio = %f       .   ",iZoomRatio   );
         }
     else
         {
@@ -468,12 +466,12 @@
         iZoomRatio = iMinZoomRatio;
         if (NULL != aThresholdReached)
             {
-            GLX_LOG_INFO1("NewZoomRatio: Min Threshold Reached iInitialZoomRatio = %d .", iMinZoomRatio );
+            GLX_LOG_INFO1("NewZoomRatio: Min Threshold Reached iMinZoomRatio = %d .", iMinZoomRatio );
             *aThresholdReached = ETrue;
             }
         }
 
-    GLX_LOG_INFO1("NewZoomRatio: New Zoom Ratio = %x.   ",iZoomRatio   );
+    GLX_LOG_INFO1("NewZoomRatio: New Zoom Ratio = %f.   ",iZoomRatio  );
     return iZoomRatio;
     }
 
--- a/photosgallery/viewframework/visuallistmanager/src/glxvisuallistcontrol.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/visuallistmanager/src/glxvisuallistcontrol.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -306,7 +306,7 @@
 	GLX_LOG_INFO("CGlxVisualListControl::AddObserverL");
 	__ASSERT_DEBUG(iObservers.Find(aObserver) == KErrNotFound, 
 	                    Panic(EGlxPanicIllegalArgument)); // Already exists
-	iObservers.Append(aObserver);
+	iObservers.AppendL(aObserver);
 	}
 
 // -----------------------------------------------------------------------------
@@ -342,7 +342,7 @@
 	context.iId = nextId;
 	context.iFrontVisibleRangeOffset = aFrontVisibleRangeOffset;
 	context.aRearVisibleRangeOffset = aRearVisibleRangeOffset;
-	iContexts.Append(context); // Cannot fail thanks to reservation
+	iContexts.AppendL(context); // Cannot fail thanks to reservation
 	
 	// Combine the contexts, and update the window
 	TInt frontOffset = 0;
@@ -445,7 +445,7 @@
 	{
 	TRACER("CGlxVisualListControl::HandleItemAddedL");
 	GLX_LOG_INFO("CGlxVisualListControl::HandleItemAddedL");
-	iVisualWindow->AddObjects( aStartIndex, aEndIndex );
+	iVisualWindow->AddObjectsL( aStartIndex, aEndIndex );
 	iVisualWindow->UpdatePositions();
 	}
 	
@@ -469,7 +469,7 @@
 	{
 	TRACER("CGlxVisualListControl::HandleItemRemovedL");
 	GLX_LOG_INFO("CGlxVisualListControl::HandleItemRemovedL");
-	iVisualWindow->RemoveObjects( aStartIndex, aEndIndex );
+	iVisualWindow->RemoveObjectsL( aStartIndex, aEndIndex );
 	iVisualWindow->UpdatePositions();
 	}
 
--- a/photosgallery/viewframework/visuallistmanager/src/glxvisuallistwindow.cpp	Wed Jun 09 09:41:51 2010 +0300
+++ b/photosgallery/viewframework/visuallistmanager/src/glxvisuallistwindow.cpp	Mon Jun 21 15:40:32 2010 +0300
@@ -206,7 +206,7 @@
 	{
 	TRACER("CGlxVisualListWindow::SetFocusIndexL");
     GLX_LOG_INFO1("CGlxVisualListWindow::SetFocusIndexL %d",aFocusIndex);
-	CGlxListWindow::SetFocusIndex( aFocusIndex );
+	CGlxListWindow::SetFocusIndexL( aFocusIndex );
 	
 	UpdatePositions();