logsui/AppSrc/CLogsBaseView.cpp
branchRCL_3
changeset 26 0d28c1c5b6dd
parent 21 b3431bff8c19
child 32 2828b4d142c0
--- a/logsui/AppSrc/CLogsBaseView.cpp	Wed Apr 14 15:45:35 2010 +0300
+++ b/logsui/AppSrc/CLogsBaseView.cpp	Tue Apr 27 16:23:35 2010 +0300
@@ -621,33 +621,35 @@
             event = CurrentModel()->At( EventListCurrent() );    
             eventData = event->LogsEventData();
             
-            // When log event is for VOIP, it needs to check if the contact link is valid.
-            // If it's invalid, refresh menubar in order to avoid "voice" and "video" items.
-            // Can't avoid flicking in this case, however, it's so rare to repro.
-            if ( eventData && eventData->VoIP() && SipUriAvailable( event ) ) 
+            if ( eventData )
                 {
                 TPtrC8 ptrContactLink( KNullDesC8 );
-
                 if ( KErrNone == eventData->GetContactLink( ptrContactLink ) )
-                    {   
+                    {
                     CLogsCntLinkChecker* contactCheckerPtr = Engine()->CntLinkCheckerL();
-                                         
                     if ( !contactCheckerPtr->IsCntLinkValidSync( ptrContactLink ) )
                         {
                         iIsCheckedCntLinkInvaild = ETrue;
-                        if ( MenuBar()->IsDisplayed() )
+                        }
+                    }
+                // When log event is for VOIP, it needs to check if the contact link is valid.
+                // If it's invalid, refresh menubar in order to avoid "voice" and "video" items.
+                // Can't avoid flicking in this case, however, it's so rare to repro.
+                if ( eventData->VoIP() && SipUriAvailable( event ) 
+                       && iIsCheckedCntLinkInvaild )
+                    {
+                    if ( MenuBar()->IsDisplayed() )
+                        {
+                        MenuBar()->StopDisplayingMenuBar();
+        
+                        if ( CurrentMenuType() == CEikMenuBar::EMenuContext )
                             {
-                            MenuBar()->StopDisplayingMenuBar();
-            
-                            if ( CurrentMenuType() == CEikMenuBar::EMenuContext )
-                                {
-                                MenuBar()->TryDisplayContextMenuBarL();
-                                }
-                                else
-                                {
-                                MenuBar()->TryDisplayMenuBarL();
-                                }               
-                            }   
+                            MenuBar()->TryDisplayContextMenuBarL();
+                            }
+                            else
+                            {
+                            MenuBar()->TryDisplayMenuBarL();
+                            }
                         }
                     }
                 }
@@ -1740,6 +1742,11 @@
             contactCheckerPtr->ConfigureL( readerConfig );
             CleanupStack::PopAndDestroy();      //readerConfig
             contactCheckerPtr->StartL();
+            
+            if ( !MenuBar()->ItemSpecificCommandsEnabled() )
+                {
+                iIsCheckedCntLinkInvaild = !contactCheckerPtr->IsCntLinkValidSync( tempPtr );
+                }
             }
         }
     
@@ -2259,7 +2266,7 @@
         
         //Refresh contents in MLogsEventGetter. Otherwise it contains wrong data of last 
         //event read from db done in background during execution of RunLD()
-        //aEvent = CurrentModel()->At( iEventListCurrent );
+        aEvent = CurrentModel()->At( iEventListCurrent );
         
         switch( queryAction )
         	{