From 981ee4fcf1225a27f6aabdfa228458bb888bd1c6 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 28 Apr 2025 12:34:54 +0200 Subject: [PATCH] kdrive: directly calling KdCloseScreen() instead of wrapping No need to wrap CloseScreen proc vector, we can call KdCloseScreen() from KdXVCloseScreen() directly. Signed-off-by: Enrico Weigelt, metux IT consult --- hw/kdrive/src/kdrive.c | 3 +-- hw/kdrive/src/kdrive.h | 2 ++ hw/kdrive/src/kxv.c | 7 ++----- hw/kdrive/src/kxv.h | 1 - 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c index 72e6a39f9..724f14579 100644 --- a/hw/kdrive/src/kdrive.c +++ b/hw/kdrive/src/kdrive.c @@ -553,8 +553,7 @@ KdCreateScreenResources(ScreenPtr pScreen) return ret; } -static Bool -KdCloseScreen(ScreenPtr pScreen) +Bool KdCloseScreen(ScreenPtr pScreen) { KdScreenPriv(pScreen); KdScreenInfo *screen = pScreenPriv->screen; diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index ad341c5eb..adb4c288a 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -434,4 +434,6 @@ void void InitCard(char *name); +Bool KdCloseScreen(ScreenPtr pScreen); + #endif /* _KDRIVE_H_ */ diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c index 3077009a6..91e93ca64 100644 --- a/hw/kdrive/src/kxv.c +++ b/hw/kdrive/src/kxv.c @@ -142,13 +142,13 @@ KdXVScreenInit(ScreenPtr pScreen, KdVideoAdaptorPtr adaptors, int num) ScreenPriv->DestroyWindow = pScreen->DestroyWindow; ScreenPriv->WindowExposures = pScreen->WindowExposures; ScreenPriv->ClipNotify = pScreen->ClipNotify; - ScreenPriv->CloseScreen = pScreen->CloseScreen; /* fprintf(stderr,"XV: Wrapping screen funcs\n"); */ pScreen->DestroyWindow = KdXVDestroyWindow; pScreen->WindowExposures = KdXVWindowExposures; pScreen->ClipNotify = KdXVClipNotify; + /* it will call KdCloseScreen() as it's the last act */ pScreen->CloseScreen = KdXVCloseScreen; if (!KdXVInitAdaptors(pScreen, adaptors, num)) @@ -922,9 +922,6 @@ KdXVCloseScreen(ScreenPtr pScreen) pScreen->DestroyWindow = ScreenPriv->DestroyWindow; pScreen->WindowExposures = ScreenPriv->WindowExposures; pScreen->ClipNotify = ScreenPriv->ClipNotify; - pScreen->CloseScreen = ScreenPriv->CloseScreen; - -/* fprintf(stderr,"XV: Unwrapping screen funcs\n"); */ for (c = 0, pa = pxvs->pAdaptors; c < pxvs->nAdaptors; c++, pa++) { KdXVFreeAdaptor(pa); @@ -933,7 +930,7 @@ KdXVCloseScreen(ScreenPtr pScreen) free(pxvs->pAdaptors); free(ScreenPriv); - return pScreen->CloseScreen(pScreen); + return KdCloseScreen(pScreen); } /**** XvAdaptorRec fields ****/ diff --git a/hw/kdrive/src/kxv.h b/hw/kdrive/src/kxv.h index a264dcab2..3ea150be8 100644 --- a/hw/kdrive/src/kxv.h +++ b/hw/kdrive/src/kxv.h @@ -154,7 +154,6 @@ typedef struct { DestroyWindowProcPtr DestroyWindow; ClipNotifyProcPtr ClipNotify; WindowExposuresProcPtr WindowExposures; - CloseScreenProcPtr CloseScreen; } KdXVScreenRec, *KdXVScreenPtr; typedef struct {