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/win.h | |
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/win.h')
-rw-r--r-- | hw/xwin/win.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/hw/xwin/win.h b/hw/xwin/win.h index c3c3c606b..c332087ad 100644 --- a/hw/xwin/win.h +++ b/hw/xwin/win.h @@ -725,6 +725,21 @@ extern FARPROC g_fpTrackMouseEvent; #define winWindowPriv(pWin) \ winPrivWinPtr pWinPriv = winGetWindowPriv(pWin) +/* + * wrapper macros + */ +#define _WIN_WRAP(priv, real, mem, func) {\ + priv->mem = real->mem; \ + real->mem = func; \ +} + +#define _WIN_UNWRAP(priv, real, mem) {\ + real->mem = priv->mem; \ +} + +#define WIN_WRAP(mem, func) _WIN_WRAP(pScreenPriv, pScreen, mem, func) + +#define WIN_UNWRAP(mem) _WIN_UNWRAP(pScreenPriv, pScreen, mem) /* * BEGIN DDX and DIX Function Prototypes |