diff -r 647ab20fee2e -r 0a40b8675b23 kernel/eka/include/drivers/resourcecontrol.h --- a/kernel/eka/include/drivers/resourcecontrol.h Thu Aug 12 12:51:24 2010 +0100 +++ b/kernel/eka/include/drivers/resourcecontrol.h Tue Aug 24 14:42:58 2010 +0100 @@ -136,13 +136,19 @@ TInt growBy = (list).GrowBy(); \ if(!growBy) \ (list).Initialise(PRM_DYNAMIC_RESOURCE_INITIAL_SIZE); \ - if((list).Add(res, resId) == KErrNoMemory) \ + TInt r = (list).Add(res, resId); \ + if(r == KErrNoMemory) \ { \ - TInt r = (list).ReSize(growBy); \ - if(r != KErrNone) \ - return r; \ - (list).Add(res, resId); \ + r = (list).ReSize(growBy); \ + if(r == KErrNone) \ + { \ + r = (list).Add(res, resId); \ + } \ } \ + if(r != KErrNone) \ + { \ + return r; \ + } \ res->iResourceId |= resId; \ resId = res->iResourceId; \ resIdCount++; \