diff -r e5af45d51884 -r 31fccae4f8a7 uiacceltk/hitchcock/ServerCore/Src/alfwindowmanager.cpp --- a/uiacceltk/hitchcock/ServerCore/Src/alfwindowmanager.cpp Tue Aug 31 16:07:35 2010 +0300 +++ b/uiacceltk/hitchcock/ServerCore/Src/alfwindowmanager.cpp Wed Sep 01 12:16:53 2010 +0100 @@ -208,6 +208,7 @@ aWindow->SetSurfaceExtent(aWindow->SurfaceExtent()); aWindow->SetWindowArea(); aWindow->SetTransparencyAlphaChannel(aWindow->TransparencyAlphaChannel()); + aWindow->SetScreenDeviceValid(aWindow->IsScreenDeviceValid()); aWindow->IncludeToVisibilityCalculation(aWindow->IsIncludedToVisibilityCalculation()); aWindow->SetActive(aWindow->IsActive()); } @@ -253,16 +254,23 @@ TInt offset; TAlfWindowAttributes* windowAttributes = CreateWindowAttributes(offset); - windowAttributes->iWindowNodeType = wservInfo.iNodeType; - windowAttributes->iScreenNumber = wservInfo.iScreenNumber; + if (windowAttributes) + { + windowAttributes->iWindowNodeType = wservInfo.iNodeType; + windowAttributes->iScreenNumber = wservInfo.iScreenNumber; - TAlfBridgerData data; - data.Set(EAlfDSDestroyWindow, - wservInfo.iRefId.iWindowGroupId, - wservInfo.iRefId.iWindowIdentifer, - (TAny*)offset); - - PostIt(data); + TAlfBridgerData data; + data.Set(EAlfDSDestroyWindow, + wservInfo.iRefId.iWindowGroupId, + wservInfo.iRefId.iWindowIdentifer, + (TAny*)offset); + + PostIt(data); + } + else + { + CAlfWindow::ReportOOM(); + } iData->iWindows.Remove(i); delete &aWindow; @@ -316,7 +324,7 @@ // Decaprecated // --------------------------------------------------------------------------- // -EXPORT_C CAlfWindow* CAlfWindowManager::ReserveL( const TWindowIdentifier& /*aId*/, TBool aReserveBuffer /*= ETrue*/ ) +EXPORT_C CAlfWindow* CAlfWindowManager::ReserveL( const TWindowIdentifier& /*aId*/, TBool /*aReserveBuffer = ETrue*/ ) { return 0; // we never get here } @@ -658,7 +666,14 @@ TAlfWindowAttributes empty; TAlfWindowAttributes* attributes = NULL; TRAP_IGNORE(attributes = (TAlfWindowAttributes*)Bridge()->AppendVarDataL( sizeof(TAlfWindowAttributes), aIndex )) - *attributes = empty; + if (attributes) + { + *attributes = empty; + } + else + { + CAlfWindow::ReportOOM(); + } return attributes; } @@ -671,7 +686,14 @@ TAlfWindowCommandBufferAttributes empty; TAlfWindowCommandBufferAttributes* windowCommandBuffer = NULL; TRAP_IGNORE(windowCommandBuffer = (TAlfWindowCommandBufferAttributes*)Bridge()->AppendVarDataL( sizeof(TAlfWindowCommandBufferAttributes), aIndex )) - *windowCommandBuffer = empty; + if (windowCommandBuffer) + { + *windowCommandBuffer = empty; + } + else + { + CAlfWindow::ReportOOM(); + } return windowCommandBuffer; }