photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp
branchRCL_3
changeset 9 6b87b143d312
parent 4 57d388cc48c1
child 25 191387a8b767
--- a/photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp	Tue Feb 02 10:12:14 2010 +0200
+++ b/photosgallery/viewframework/tvout/src/glxtvconnectionmonitor.cpp	Fri Feb 19 22:51:01 2010 +0200
@@ -177,9 +177,20 @@
 void CGlxTvConnectionMonitor::IssueNotificationL()
     {
     GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL");
+    TBool previousTvState = iTvOutConnectionState;
+    TBool previousHDMIState = iHDMIConnectionState;
+    GLX_LOG_INFO2("previousTvState = %d , previousHDMIState = %d",
+            previousTvState,previousHDMIState);
     iTvOutConnectionState = ( iCurrentAccMode.iAccessoryMode == EAccModeTVOut);
     iHDMIConnectionState = ( iCurrentAccMode.iAccessoryMode == EAccModeHDMI);
-    iConnectionObserver.HandleTvConnectionStatusChangedL();
+    // Call Statuschnage only if actually TvState or HDMIState has changed.
+    if ( previousTvState!= iTvOutConnectionState ||
+            previousHDMIState != iHDMIConnectionState)
+        {
+        GLX_LOG_INFO("CGlxTvConnectionMonitor::IssueNotificationL -"
+                " TvConnectionStatusChanged");
+        iConnectionObserver.HandleTvConnectionStatusChangedL();
+        }
     }