diff options
Diffstat (limited to 'plugins/multimedia/symbian/videooutput/s60eglendpoint.cpp')
-rw-r--r-- | plugins/multimedia/symbian/videooutput/s60eglendpoint.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/multimedia/symbian/videooutput/s60eglendpoint.cpp b/plugins/multimedia/symbian/videooutput/s60eglendpoint.cpp index 7a5f010f53..63b796d38f 100644 --- a/plugins/multimedia/symbian/videooutput/s60eglendpoint.cpp +++ b/plugins/multimedia/symbian/videooutput/s60eglendpoint.cpp @@ -115,6 +115,14 @@ void S60EglEndpointEventHandler::DoCancel() TRACE("S60EglEndpointEventHandler::DoCancel" << qtThisPtr()); m_parent->m_extensions->endpointCancelNotification(m_parent->m_display, m_parent->m_endpoint); + + if (iStatus == KRequestPending) { + // If EGL display gets destroyed before cancel then endpointCancelNotification + // will not cancel our request + TRACE("S60EglEndpointEventHandler::DoCancel - completing request locally" << qtThisPtr()); + TRequestStatus *requestStatus = &iStatus; + User::RequestComplete(requestStatus, KErrCancel); + } } //----------------------------------------------------------------------------- |