зеркало из https://github.com/mozilla/gecko-dev.git
r=pollmann, troy. Fix for bug 10564. Added some error checking code to prevent crashes reported on low memory configurations.
This commit is contained in:
Родитель
d82b8d9179
Коммит
74dc9a0cf4
|
@ -33,11 +33,15 @@ static void ns_observer_proc (XP_Observable aSource,
|
||||||
{
|
{
|
||||||
ImageRequestImpl *image_request = (ImageRequestImpl *)aClosure;
|
ImageRequestImpl *image_request = (ImageRequestImpl *)aClosure;
|
||||||
IL_MessageData *message_data = (IL_MessageData *)aMsgData;
|
IL_MessageData *message_data = (IL_MessageData *)aMsgData;
|
||||||
nsVoidArray *observer_list = image_request->GetObservers();
|
nsVoidArray *observer_list = nsnull;
|
||||||
nsIImage *image = nsnull;
|
nsIImage *image = nsnull;
|
||||||
// IL_ImageReq *il_image_req = image_request->GetImageRequest();
|
// IL_ImageReq *il_image_req = image_request->GetImageRequest();
|
||||||
IL_ImageReq *il_image_req = (IL_ImageReq *)aSource;
|
IL_ImageReq *il_image_req = (IL_ImageReq *)aSource;
|
||||||
|
|
||||||
|
if (image_request != nsnull) {
|
||||||
|
observer_list = image_request->GetObservers();
|
||||||
|
}
|
||||||
|
|
||||||
if (il_image_req != nsnull) {
|
if (il_image_req != nsnull) {
|
||||||
IL_Pixmap *pixmap = IL_GetImagePixmap(il_image_req);
|
IL_Pixmap *pixmap = IL_GetImagePixmap(il_image_req);
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "nsIImageGroup.h"
|
#include "nsIImageGroup.h"
|
||||||
#include "nsIImageRequest.h"
|
#include "nsIImageRequest.h"
|
||||||
#include "nsIStyleContext.h"
|
#include "nsIStyleContext.h"
|
||||||
|
#include "nsCOMPtr.h"
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#undef NOISY_IMAGE_LOADING
|
#undef NOISY_IMAGE_LOADING
|
||||||
|
@ -548,11 +549,12 @@ nsFrameImageLoader::DamageRepairFrames(const nsRect* aDamageRect)
|
||||||
bounds.y += offset.y;
|
bounds.y += offset.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsIViewManager* vm;
|
nsCOMPtr<nsIViewManager> vm = nsnull;
|
||||||
view->GetViewManager(vm);
|
nsresult rv = NS_OK;
|
||||||
vm->UpdateView(view, bounds, NS_VMREFRESH_NO_SYNC);
|
rv = view->GetViewManager(*getter_AddRefs(vm));
|
||||||
NS_RELEASE(vm);
|
if (NS_SUCCEEDED(rv) && nsnull != vm) {
|
||||||
|
vm->UpdateView(view, bounds, NS_VMREFRESH_NO_SYNC);
|
||||||
|
}
|
||||||
pfd = pfd->mNext;
|
pfd = pfd->mNext;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче