Remember allocated offscreenImages memory for freeing it in CloseScreen()
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com> [anholt: renamed the member to match the variable name] Signed-off-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
701c6bef14
commit
ceb3a2eaf9
|
|
@ -431,6 +431,7 @@ typedef struct _I830Rec {
|
|||
#ifdef I830_XV
|
||||
/* For Xvideo */
|
||||
i830_memory *overlay_regs;
|
||||
void *offscreenImages; /**< remembered memory block for release */
|
||||
#endif
|
||||
#ifdef INTEL_XVMC
|
||||
/* For XvMC */
|
||||
|
|
|
|||
|
|
@ -3700,6 +3700,8 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen)
|
|||
|
||||
#ifdef I830_XV
|
||||
i965_free_video(pScrn);
|
||||
free(pI830->offscreenImages);
|
||||
pI830->offscreenImages = NULL;
|
||||
#endif
|
||||
|
||||
dri_bufmgr_destroy(pI830->bufmgr);
|
||||
|
|
|
|||
|
|
@ -2886,11 +2886,12 @@ I830InitOffscreenImages(ScreenPtr pScreen)
|
|||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
I830Ptr pI830 = I830PTR(pScrn);
|
||||
|
||||
/* need to free this someplace */
|
||||
if (!(offscreenImages = xalloc(sizeof(XF86OffscreenImageRec)))) {
|
||||
return;
|
||||
}
|
||||
|
||||
pI830->offscreenImages = offscreenImages;
|
||||
|
||||
offscreenImages[0].image = &Images[0];
|
||||
offscreenImages[0].flags = VIDEO_OVERLAID_IMAGES /*| VIDEO_CLIP_TO_VIEWPORT*/;
|
||||
offscreenImages[0].alloc_surface = I830AllocateSurface;
|
||||
|
|
|
|||
Loading…
Reference in New Issue