webengine/osswebengine/WebCore/platform/network/symbian/DataConnection.cpp
branchRCL_3
changeset 47 e1bea15f9a39
parent 37 ac77f89b1d9e
child 48 79859ed3eea9
--- a/webengine/osswebengine/WebCore/platform/network/symbian/DataConnection.cpp	Thu Jul 15 19:53:20 2010 +0300
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/DataConnection.cpp	Thu Aug 19 10:58:56 2010 +0300
@@ -159,7 +159,8 @@
             }
         }
     }
-    m_maxSize = body->Length();
+    if(body != NULL)
+        m_maxSize = body->Length();
 }
 
 void DataConnection::cancel()
@@ -202,12 +203,17 @@
     HBufC8* encoding = NULL;
     HBufC8* body = NULL;
     parseUrlLC(contentType, encoding, body);
-
-    ResourceResponse response(m_handle->request().url().des(), contentType->Des(), body->Length(), encoding->Des(), String() );
-    CResourceHandleManager::self()->receivedResponse(m_handle, response, this);
-    CResourceHandleManager::self()->receivedData(m_handle, body->Des(), body->Length(), this);
+    if(body != NULL)
+        {
+        ResourceResponse response(m_handle->request().url().des(), contentType->Des(), body->Length(), encoding->Des(), String() );
+        CResourceHandleManager::self()->receivedResponse(m_handle, response, this);
+        CResourceHandleManager::self()->receivedData(m_handle, body->Des(), body->Length(), this);
+        }
     CResourceHandleManager::self()->receivedFinished(m_handle, KErrNone, this);
-    CleanupStack::PopAndDestroy(3); // contentType, encoding, body
+    if(body != NULL)
+        CleanupStack::PopAndDestroy(3); // contentType, encoding, body
+    else
+        CleanupStack::PopAndDestroy(2); // contentType, encoding
     derefHandle();
     }