emailuis/nmhswidget/src/nmhswidgetemailengine.cpp
changeset 47 f83bd4ae1fe3
parent 44 c2d07d913565
child 49 00c7ae862740
--- a/emailuis/nmhswidget/src/nmhswidgetemailengine.cpp	Fri Jun 11 16:42:02 2010 +0300
+++ b/emailuis/nmhswidget/src/nmhswidgetemailengine.cpp	Thu Jun 24 14:32:18 2010 +0300
@@ -180,7 +180,7 @@
     list.clear(); //Reset the parameter list to avoid side effects
     int i = 0;
     for (; i < mEnvelopeList.count() && i < maxEnvelopeAmount; i++) {
-        NmMessageEnvelope env(*mEnvelopeList[i]);
+        NmMessageEnvelope env(*mEnvelopeList.at(i));
         list.append(env);
     }
     return i;
@@ -408,17 +408,26 @@
 {
     NM_FUNCTION;
     
-    XQApplicationManager appManager;
-    XQAiwRequest* request = appManager.create(
-            XQI_EMAIL_INBOX_VIEW, XQOP_EMAIL_INBOX_VIEW,
-            false);
-    
-    if (request) {
-        QList<QVariant> list;
-        list.append(QVariant(mMailboxId.id()));
-    
-        request->setArguments(list);
-        request->send();
+    QT_TRY{ 
+        XQApplicationManager appManager;
+        XQAiwRequest* request = appManager.create(
+                XQI_EMAIL_INBOX_VIEW, XQOP_EMAIL_INBOX_VIEW,
+                false);
+        
+        if (request) {
+            QList<QVariant> list;
+            list.append(QVariant(mMailboxId.id()));
+        
+            request->setSynchronous(true);
+            request->setArguments(list);
+            request->send();
+            delete request;
+        }
+    }
+    QT_CATCH(...){
+        // no actions taken.
+        // try-catch mechanism added to avoid crashing widget, in case XQAiwRequest
+        // creation raise exception.
     }
 }
 
@@ -431,18 +440,27 @@
 {
     NM_FUNCTION;
 
-    XQApplicationManager appManager;
-    XQAiwRequest* request = appManager.create(
-            XQI_EMAIL_MESSAGE_VIEW, XQOP_EMAIL_MESSAGE_VIEW,
-            false);
-    
-    if (request) {
-        QList<QVariant> list;
-        list.append(QVariant(mMailboxId.id()));
-        list.append(QVariant(mFolderId.id()));
-        list.append(QVariant(messageId.id()));
-    
-        request->setArguments(list);
-        request->send();
+    QT_TRY{
+        XQApplicationManager appManager;
+        XQAiwRequest* request = appManager.create(
+                XQI_EMAIL_MESSAGE_VIEW, XQOP_EMAIL_MESSAGE_VIEW,
+                false);
+        
+        if (request) {
+            QList<QVariant> list;
+            list.append(QVariant(mMailboxId.id()));
+            list.append(QVariant(mFolderId.id()));
+            list.append(QVariant(messageId.id()));
+        
+            request->setSynchronous(true);
+            request->setArguments(list);
+            request->send();
+            delete request;
+        }
+    }
+    QT_CATCH(...){
+        // no actions taken.
+        // try-catch mechanism added to avoid crashing widget, in case XQAiwRequest
+        // creation raise exception.
     }
 }