summaryrefslogtreecommitdiff
path: root/hw/kdrive/mach64/mach64video.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/kdrive/mach64/mach64video.c')
-rw-r--r--hw/kdrive/mach64/mach64video.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/hw/kdrive/mach64/mach64video.c b/hw/kdrive/mach64/mach64video.c
index c2f14ee07..b66b4007a 100644
--- a/hw/kdrive/mach64/mach64video.c
+++ b/hw/kdrive/mach64/mach64video.c
@@ -557,13 +557,16 @@ mach64DisplayVideo(KdScreenInfo *screen,
}
static void
-mach64VideoMoveIn (KdOffscreenArea *area)
+mach64VideoSave (KdOffscreenArea *area)
{
-}
+ ScreenPtr pScreen = area->screen;
+ KdScreenPriv(pScreen);
+ KdScreenInfo *screen = pScreenPriv->screen;
+ Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver;
+ Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr;
-static void
-mach64VideoMoveOut (KdOffscreenArea *area)
-{
+ if (pPortPriv->off_screen == area)
+ pPortPriv->off_screen = 0;
}
static int
@@ -710,8 +713,7 @@ mach64PutImage(KdScreenInfo *screen,
if (!pPortPriv->off_screen)
{
pPortPriv->off_screen = KdOffscreenAlloc (screen->pScreen, size * 2, 64,
- TRUE, mach64VideoMoveIn,
- mach64VideoMoveOut,
+ TRUE, mach64VideoSave,
pPortPriv);
if (!pPortPriv->off_screen)
return BadAlloc;