summaryrefslogtreecommitdiff
path: root/hw/xwin/win.h
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-02-12 14:47:17 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-02-12 14:47:17 +0000
commit8df7126f09d6d7cb35a5912a71531cad28ba2545 (patch)
treecfca4fc3c1de37aeac8fdf50ea00f42c3eac7aad /hw/xwin/win.h
parent676fdb03f3fb27ac24834aeb895df7d6d6e83f78 (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.h15
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