diff options
author | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-02-12 14:47:17 +0000 |
---|---|---|
committer | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-02-12 14:47:17 +0000 |
commit | 8df7126f09d6d7cb35a5912a71531cad28ba2545 (patch) | |
tree | cfca4fc3c1de37aeac8fdf50ea00f42c3eac7aad /hw/xwin/winfont.c | |
parent | 676fdb03f3fb27ac24834aeb895df7d6d6e83f78 (diff) |
win.h
winfont.c
winmultiwindowshape.c
winmultiwindowwindow.c
winpfbdd.c
winshaddd.c
winshadddnl.c
winshadgdi.c
Fix incorrect wrapping of functions. Ensure the pointers from pScreen point
to the called function even if wrapped functions changed it
Set the window properties to NULL to avoid referencing freed memory because
of timing problems after deleting a window
Do not wrap ChangeWindowAttributes. All functions are noops currently
Diffstat (limited to 'hw/xwin/winfont.c')
-rw-r--r-- | hw/xwin/winfont.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/hw/xwin/winfont.c b/hw/xwin/winfont.c index 4c633af80..64c6cd233 100644 --- a/hw/xwin/winfont.c +++ b/hw/xwin/winfont.c @@ -35,10 +35,19 @@ Bool winRealizeFontNativeGDI (ScreenPtr pScreen, FontPtr pFont) { + BOOL fResult = TRUE; + winScreenPriv(pScreen); + #if CYGDEBUG - winDebug ("winRealizeFont()\n"); + winTrace ("winRealizeFont (%p, %p)\n", pScreen, pFont); #endif - return TRUE; + + WIN_UNWRAP(RealizeFont); + if (pScreen->RealizeFont) + fResult = (*pScreen->RealizeFont) (pScreen, pFont); + WIN_WRAP(RealizeFont, winRealizeFontNativeGDI); + + return fResult; } /* See Porting Layer Definition - p. 32 */ @@ -46,6 +55,19 @@ winRealizeFontNativeGDI (ScreenPtr pScreen, FontPtr pFont) Bool winUnrealizeFontNativeGDI (ScreenPtr pScreen, FontPtr pFont) { + BOOL fResult = TRUE; + winScreenPriv(pScreen); + +#if CYGDEBUG + winTrace ("winUnrealizeFont (%p, %p)\n", pScreen, pFont); +#endif + + WIN_UNWRAP(UnrealizeFont); + if (pScreen->UnrealizeFont) + fResult = (*pScreen->UnrealizeFont) (pScreen, pFont); + WIN_WRAP(UnrealizeFont, winUnrealizeFontNativeGDI); + + return fResult; #if CYGDEBUG winDebug ("winUnrealizeFont()\n"); #endif |