--- a/contentstorage/casrv/cawidgetscanner/src/cawidgetstoragehandler.cpp Tue Mar 23 23:28:12 2010 +0200
+++ b/contentstorage/casrv/cawidgetscanner/src/cawidgetstoragehandler.cpp Tue Mar 23 23:42:03 2010 +0200
@@ -122,10 +122,14 @@
{
CCaInnerEntry* entry = aWidget->GetEntryLC();
entry->SetId( aEntryId );
- if( !aWidget->IsMissing() )
+ if( !aWidget->IsMissing() && ( aWidget->GetLibrary() != KNoLibrary ) )
{
entry->SetFlags( entry->GetFlags() & ~EUsed );
}
+ else if(aWidget->IsUsed())
+ {
+ entry->SetFlags( entry->GetFlags() | EUsed );
+ }
entry->SetFlags( entry->GetFlags() & ~EMissing );
iStorage->AddL( entry );
if( !aWidget->IsMissing() )
@@ -152,6 +156,7 @@
iWidgets[index]->IsMissing() )
{
aWidgets[i]->SetMissing( iWidgets[index]->IsMissing() );
+ aWidgets[i]->SetUsed( iWidgets[index]->IsUsed() );
UpdateL( aWidgets[i], iWidgets[index]->GetEntryId() );
}
iUpdatedIndexes.AppendL( index );
@@ -267,6 +272,10 @@
{
CCaInnerEntry* entry = aWidget->GetEntryLC();
entry->SetFlags( entry->GetFlags() | EMissing );
+ if(aWidget->IsUsed())
+ {
+ entry->SetFlags( entry->GetFlags() | EUsed );
+ }
iStorage->AddL( entry );
CleanupStack::PopAndDestroy( entry );
}