diff -r b023a8d2866a -r ea65f74e6de4 photosgallery/viewframework/uiutilities/src/glxrequestfreegoom.cpp --- a/photosgallery/viewframework/uiutilities/src/glxrequestfreegoom.cpp Thu Jul 15 18:39:01 2010 +0300 +++ b/photosgallery/viewframework/uiutilities/src/glxrequestfreegoom.cpp Thu Aug 19 09:55:03 2010 +0300 @@ -20,7 +20,7 @@ #include "glxrequestfreegoom.h" -const TInt KMinMemoryRequest = 3145728; // 3 MB +const TInt KMinMemoryRequest = 16000000; // 2000 x 2000 x 4 (32 bit display mode) // ---------------------------------------------------------------------------- // CGlxRelaseGPUMemory::NewL @@ -55,7 +55,7 @@ // CGlxRelaseGPUMemory::CGlxRelaseGPUMemory(MGoomNotifierObserver& aNotify) : CActive(CActive::EPriorityStandard), iNotify(aNotify), iIsFirstRequest( - ETrue) + ETrue),iNotifyCaller(ETrue) { TRACER("CGlxRelaseGPUMemory::CGlxRelaseGPUMemory()"); CActiveScheduler::Add(this); @@ -104,9 +104,10 @@ // CGlxRelaseGPUMemory::RequestMemory() // ---------------------------------------------------------------------------- // -EXPORT_C void CGlxRelaseGPUMemory::RequestMemory() +EXPORT_C void CGlxRelaseGPUMemory::RequestMemory(TBool aRequest) { TRACER("CGlxRelaseGPUMemory::RequestMemory()"); + iNotifyCaller = aRequest; IssueRequest(); } @@ -143,5 +144,9 @@ } // Notify observer on the RequestFreeMemory() status - iNotify.HandleGoomMemoryReleased(iStatus.Int()); + if(iNotifyCaller || (iStatus.Int() != KErrNone)) + { + iNotify.HandleGoomMemoryReleased(iStatus.Int()); + } + iNotifyCaller = EFalse; }