XQuartz: LP64 related casting fixes from Bob Murphy

(cherry picked from commit ea71710aaa7166ab510abe70f2dc47942de0ead7)
This commit is contained in:
Jeremy Huddleston 2008-10-31 18:58:57 -07:00
parent 20239a4dee
commit c5086badf0
11 changed files with 119 additions and 46 deletions

View File

@ -230,9 +230,9 @@ static void __glXAquaContextDestroy(__GLXcontext *baseContext) {
(unsigned int) baseContext); (unsigned int) baseContext);
if (context != NULL) { if (context != NULL) {
if (context->sid != 0 && surface_hash != NULL) { if (context->sid != 0 && surface_hash != NULL) {
lst = x_hash_table_lookup(surface_hash, (void *) context->sid, NULL); lst = x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr(context->sid), NULL);
lst = x_list_remove(lst, context); lst = x_list_remove(lst, context);
x_hash_table_insert(surface_hash, (void *) context->sid, lst); x_hash_table_insert(surface_hash, x_cvt_uint_to_vptr(context->sid), lst);
} }
if (context->ctx != NULL) CGLDestroyContext(context->ctx); if (context->ctx != NULL) CGLDestroyContext(context->ctx);
@ -273,14 +273,14 @@ static void surface_notify(void *_arg, void *data) {
switch (arg->kind) { switch (arg->kind) {
case AppleDRISurfaceNotifyDestroyed: case AppleDRISurfaceNotifyDestroyed:
if (surface_hash != NULL) if (surface_hash != NULL)
x_hash_table_remove(surface_hash, (void *) arg->id); x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(arg->id));
draw->base.pDraw = NULL; draw->base.pDraw = NULL;
draw->sid = 0; draw->sid = 0;
break; break;
case AppleDRISurfaceNotifyChanged: case AppleDRISurfaceNotifyChanged:
if (surface_hash != NULL) { if (surface_hash != NULL) {
lst = x_hash_table_lookup(surface_hash, (void *) arg->id, NULL); lst = x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr(arg->id), NULL);
for (; lst != NULL; lst = lst->next) for (; lst != NULL; lst = lst->next)
{ {
context = lst->data; context = lst->data;
@ -316,7 +316,7 @@ static void attach(__GLXAquaContext *context, __GLXAquaDrawable *draw) {
DRIDestroySurface(pDraw->pScreen, pDraw->id, pDraw, DRIDestroySurface(pDraw->pScreen, pDraw->id, pDraw,
surface_notify, draw); surface_notify, draw);
if (surface_hash != NULL) if (surface_hash != NULL)
x_hash_table_remove(surface_hash, (void *) draw->sid); x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(draw->sid));
draw->sid = 0; draw->sid = 0;
return; return;
@ -328,10 +328,10 @@ static void attach(__GLXAquaContext *context, __GLXAquaDrawable *draw) {
if (surface_hash == NULL) if (surface_hash == NULL)
surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL); surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL);
lst = x_hash_table_lookup(surface_hash, (void *) context->sid, NULL); lst = x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr(context->sid), NULL);
if (x_list_find(lst, context) == NULL) { if (x_list_find(lst, context) == NULL) {
lst = x_list_prepend(lst, context); lst = x_list_prepend(lst, context);
x_hash_table_insert(surface_hash, (void *) context->sid, lst); x_hash_table_insert(surface_hash, x_cvt_uint_to_vptr(context->sid), lst);
} }
GLAQUA_DEBUG_MSG("attached 0x%x to 0x%x\n", (unsigned int) pDraw->id, GLAQUA_DEBUG_MSG("attached 0x%x to 0x%x\n", (unsigned int) pDraw->id,

View File

@ -353,8 +353,14 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
} }
- (void) show_hide_menubar:(NSNumber *)state { - (void) show_hide_menubar:(NSNumber *)state {
#if defined(__LP64__)
/* Also shows/hides the dock */
if ([state boolValue]) SetSystemUIMode(kUIModeNormal, 0);
else SetSystemUIMode(kUIModeAllHidden, 0);
#else
if ([state boolValue]) ShowMenuBar (); if ([state boolValue]) ShowMenuBar ();
else HideMenuBar (); else HideMenuBar ();
#endif
} }

View File

@ -238,7 +238,7 @@ static void QuartzCoreAudioBell(
OSStatus status; OSStatus status;
status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc); status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc);
if (status) { if (status) {
ErrorF("QuartzAudioBell: AudioDeviceStart returned %ld\n", status); ErrorF("QuartzAudioBell: AudioDeviceStart returned %ld\n", (long)status);
} else { } else {
data.playing = TRUE; data.playing = TRUE;
} }
@ -299,7 +299,7 @@ void QuartzAudioInit(void)
&propertySize, &outputDevice); &propertySize, &outputDevice);
if (status) { if (status) {
ErrorF("QuartzAudioInit: AudioHardwareGetProperty returned %ld\n", ErrorF("QuartzAudioInit: AudioHardwareGetProperty returned %ld\n",
status); (long)status);
return; return;
} }
if (outputDevice == kAudioDeviceUnknown) { if (outputDevice == kAudioDeviceUnknown) {
@ -314,7 +314,7 @@ void QuartzAudioInit(void)
&propertySize, &outputStreamDescription); &propertySize, &outputStreamDescription);
if (status) { if (status) {
ErrorF("QuartzAudioInit: GetProperty(stream format) returned %ld\n", ErrorF("QuartzAudioInit: GetProperty(stream format) returned %ld\n",
status); (long)status);
return; return;
} }
sampleRate = outputStreamDescription.mSampleRate; sampleRate = outputStreamDescription.mSampleRate;
@ -339,7 +339,7 @@ void QuartzAudioInit(void)
// Prepare for playback // Prepare for playback
status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data); status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data);
if (status) { if (status) {
ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", status); ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", (long)status);
return; return;
} }

View File

@ -701,13 +701,16 @@ static KeySym make_dead_key(KeySym in) {
} }
Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) { Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
#if !defined(__x86_64__) && !defined(__ppc64__) #if !defined(__LP64__)
KeyboardLayoutRef key_layout; KeyboardLayoutRef key_layout;
#endif #endif
const void *chr_data = NULL; const void *chr_data = NULL;
int num_keycodes = NUM_KEYCODES; int num_keycodes = NUM_KEYCODES;
UInt32 keyboard_type = 0; UInt32 keyboard_type = 0;
int is_uchr = 1, i, j; #if !defined(__LP64__)
int is_uchr = 1;
#endif
int i, j;
OSStatus err; OSStatus err;
KeySym *k; KeySym *k;
CFDataRef currentKeyLayoutDataRef = NULL; CFDataRef currentKeyLayoutDataRef = NULL;
@ -721,7 +724,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef); chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef);
} }
#if !defined(__x86_64__) && !defined(__ppc64__) #if !defined(__LP64__)
if (chr_data == NULL) { if (chr_data == NULL) {
ErrorF("X11.app: Error detected in determining keyboard layout. If you are using an Apple-provided keyboard layout, please report this error at http://xquartz.macosforge.org and http://bugreport.apple.com\n"); ErrorF("X11.app: Error detected in determining keyboard layout. If you are using an Apple-provided keyboard layout, please report this error at http://xquartz.macosforge.org and http://bugreport.apple.com\n");
ErrorF("X11.app: Debug Info: keyboard_type=%u, currentKeyLayoutRef=%p, currentKeyLayoutDataRef=%p, chr_data=%p\n", ErrorF("X11.app: Debug Info: keyboard_type=%u, currentKeyLayoutRef=%p, currentKeyLayoutDataRef=%p, chr_data=%p\n",
@ -757,6 +760,9 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
key produces in the four shift states. Then convert that to key produces in the four shift states. Then convert that to
an X11 keysym (which may just the bit that says "this is an X11 keysym (which may just the bit that says "this is
Unicode" if it can't find the real symbol.) */ Unicode" if it can't find the real symbol.) */
/* KeyTranslate is not available on 64-bit platforms; UCKeyTranslate
must be used instead. */
for (i = 0; i < num_keycodes; i++) { for (i = 0; i < num_keycodes; i++) {
static const int mods[4] = {0, MOD_SHIFT, MOD_OPTION, static const int mods[4] = {0, MOD_SHIFT, MOD_OPTION,
@ -765,7 +771,9 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
k = info->keyMap + i * GLYPHS_PER_KEY; k = info->keyMap + i * GLYPHS_PER_KEY;
for (j = 0; j < 4; j++) { for (j = 0; j < 4; j++) {
#if !defined(__LP64__)
if (is_uchr) { if (is_uchr) {
#endif
UniChar s[8]; UniChar s[8];
UniCharCount len; UniCharCount len;
UInt32 dead_key_state = 0, extra_dead = 0; UInt32 dead_key_state = 0, extra_dead = 0;
@ -789,6 +797,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
k[j] = ucs2keysym (s[0]); k[j] = ucs2keysym (s[0]);
if (dead_key_state != 0) k[j] = make_dead_key (k[j]); if (dead_key_state != 0) k[j] = make_dead_key (k[j]);
} }
#if !defined(__LP64__)
} else { // kchr } else { // kchr
UInt32 c, state = 0, state2 = 0; UInt32 c, state = 0, state2 = 0;
UInt16 code; UInt16 code;
@ -812,6 +821,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
if (state != 0) k[j] = make_dead_key (k[j]); if (state != 0) k[j] = make_dead_key (k[j]);
} }
} }
#endif
} }
if (k[3] == k[2]) k[3] = NoSymbol; if (k[3] == k[2]) k[3] = NoSymbol;

View File

@ -56,6 +56,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "dri.h" #include "dri.h"
#include "dristruct.h" #include "dristruct.h"
#include "xpr.h" #include "xpr.h"
#include "x-hash.h"
static int DRIErrorBase = 0; static int DRIErrorBase = 0;
@ -190,7 +191,7 @@ static void surface_notify(
) )
{ {
DRISurfaceNotifyArg *arg = _arg; DRISurfaceNotifyArg *arg = _arg;
int client_index = (int) data; int client_index = (int) x_cvt_vptr_to_uint(data);
ClientPtr client; ClientPtr client;
xAppleDRINotifyEvent se; xAppleDRINotifyEvent se;
@ -236,7 +237,8 @@ ProcAppleDRICreateSurface(
if (!DRICreateSurface( screenInfo.screens[stuff->screen], if (!DRICreateSurface( screenInfo.screens[stuff->screen],
(Drawable)stuff->drawable, pDrawable, (Drawable)stuff->drawable, pDrawable,
stuff->client_id, &sid, key, stuff->client_id, &sid, key,
surface_notify, (void *) client->index)) { surface_notify,
x_cvt_uint_to_vptr(client->index))) {
return BadValue; return BadValue;
} }

View File

@ -376,7 +376,7 @@ DRICreateSurface(ScreenPtr pScreen, Drawable id,
pDRIDrawablePriv->notifiers = NULL; pDRIDrawablePriv->notifiers = NULL;
/* find the physical window */ /* find the physical window */
wid = (xp_window_id) RootlessFrameForWindow(pWin, TRUE); wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWin, TRUE));
if (wid == 0) { if (wid == 0) {
xfree(pDRIDrawablePriv); xfree(pDRIDrawablePriv);
return FALSE; return FALSE;
@ -472,7 +472,7 @@ DRICreateSurface(ScreenPtr pScreen, Drawable id,
if (surface_hash == NULL) if (surface_hash == NULL)
surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL); surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL);
x_hash_table_insert(surface_hash, x_hash_table_insert(surface_hash,
(void *) pDRIDrawablePriv->sid, pDRIDrawablePriv); x_cvt_uint_to_vptr(pDRIDrawablePriv->sid), pDRIDrawablePriv);
/* track this in case this window is destroyed */ /* track this in case this window is destroyed */
AddResource(id, DRIDrawablePrivResType, (pointer)pDrawable); AddResource(id, DRIDrawablePrivResType, (pointer)pDrawable);
@ -554,7 +554,7 @@ DRIDrawablePrivDelete(pointer pResource, XID id)
if (pDRIDrawablePriv->sid != 0) { if (pDRIDrawablePriv->sid != 0) {
xp_destroy_surface(pDRIDrawablePriv->sid); xp_destroy_surface(pDRIDrawablePriv->sid);
x_hash_table_remove(surface_hash, (void *) pDRIDrawablePriv->sid); x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(pDRIDrawablePriv->sid));
} }
if (pDRIDrawablePriv->notifiers != NULL) if (pDRIDrawablePriv->notifiers != NULL)
@ -716,7 +716,7 @@ DRISurfaceNotify(xp_surface_id id, int kind)
if (surface_hash != NULL) if (surface_hash != NULL)
{ {
pDRIDrawablePriv = x_hash_table_lookup(surface_hash, pDRIDrawablePriv = x_hash_table_lookup(surface_hash,
(void *) id, NULL); x_cvt_uint_to_vptr(id), NULL);
} }
if (pDRIDrawablePriv == NULL) if (pDRIDrawablePriv == NULL)
@ -725,7 +725,7 @@ DRISurfaceNotify(xp_surface_id id, int kind)
if (kind == AppleDRISurfaceNotifyDestroyed) if (kind == AppleDRISurfaceNotifyDestroyed)
{ {
pDRIDrawablePriv->sid = 0; pDRIDrawablePriv->sid = 0;
x_hash_table_remove(surface_hash, (void *) id); x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(id));
} }
x_hook_run(pDRIDrawablePriv->notifiers, &arg); x_hook_run(pDRIDrawablePriv->notifiers, &arg);

View File

@ -80,13 +80,13 @@ hash_table_destroy_item (x_hash_table *h, void *k, void *v)
(*h->destroy_value) (v); (*h->destroy_value) (v);
} }
static inline unsigned int static inline size_t
hash_table_hash_key (x_hash_table *h, void *k) hash_table_hash_key (x_hash_table *h, void *k)
{ {
if (h->hash_key != 0) if (h->hash_key != 0)
return (*h->hash_key) (k); return (*h->hash_key) (k);
else else
return (unsigned int) k; return (size_t) k;
} }
static inline int static inline int
@ -104,7 +104,7 @@ hash_table_split (x_hash_table *h)
x_list **new, **old; x_list **new, **old;
x_list *node, *item, *next; x_list *node, *item, *next;
int new_size, old_size; int new_size, old_size;
unsigned int b; size_t b;
int i; int i;
if (h->bucket_index == N_BUCKET_SIZES - 1) if (h->bucket_index == N_BUCKET_SIZES - 1)
@ -207,7 +207,7 @@ X_PFX (hash_table_size) (x_hash_table *h)
static void static void
hash_table_modify (x_hash_table *h, void *k, void *v, int replace) hash_table_modify (x_hash_table *h, void *k, void *v, int replace)
{ {
unsigned int hash_value; size_t hash_value;
x_list *node, *item; x_list *node, *item;
assert (h != NULL); assert (h != NULL);
@ -266,7 +266,7 @@ X_PFX (hash_table_replace) (x_hash_table *h, void *k, void *v)
X_EXTERN void X_EXTERN void
X_PFX (hash_table_remove) (x_hash_table *h, void *k) X_PFX (hash_table_remove) (x_hash_table *h, void *k)
{ {
unsigned int hash_value; size_t hash_value;
x_list **ptr, *item; x_list **ptr, *item;
assert (h != NULL); assert (h != NULL);
@ -294,7 +294,7 @@ X_PFX (hash_table_remove) (x_hash_table *h, void *k)
X_EXTERN void * X_EXTERN void *
X_PFX (hash_table_lookup) (x_hash_table *h, void *k, void **k_ret) X_PFX (hash_table_lookup) (x_hash_table *h, void *k, void **k_ret)
{ {
unsigned int hash_value; size_t hash_value;
x_list *node, *item; x_list *node, *item;
assert (h != NULL); assert (h != NULL);

View File

@ -30,6 +30,9 @@
#ifndef X_HASH_H #ifndef X_HASH_H
#define X_HASH_H 1 #define X_HASH_H 1
#include <stdlib.h>
#include <assert.h>
typedef struct x_hash_table_struct x_hash_table; typedef struct x_hash_table_struct x_hash_table;
typedef int (x_compare_fun) (const void *a, const void *b); typedef int (x_compare_fun) (const void *a, const void *b);
@ -57,4 +60,32 @@ X_EXTERN void X_PFX (hash_table_foreach) (x_hash_table *h,
x_hash_foreach_fun *fun, x_hash_foreach_fun *fun,
void *data); void *data);
/* Conversion between unsigned int (e.g. xp_resource_id) and void pointer */
/* Forward declarations */
static __inline__ void *
X_PFX (cvt_uint_to_vptr) (unsigned int val) __attribute__((always_inline));
static __inline__ unsigned int
X_PFX (cvt_vptr_to_uint) (void * val) __attribute__((always_inline));
/* Implementations */
static __inline__ void *
X_PFX (cvt_uint_to_vptr) (unsigned int val)
{
return (void*)((size_t)(val));
}
static __inline__ unsigned int
X_PFX (cvt_vptr_to_uint) (void * val)
{
size_t sv = (size_t)val;
unsigned int uv = (unsigned int)sv;
/* If this assert fails, chances are val actually is a pointer,
or there's been memory corruption */
assert(sv == uv);
return uv;
}
#endif /* X_HASH_H */ #endif /* X_HASH_H */

View File

@ -41,12 +41,13 @@
#include <Xplugin.h> #include <Xplugin.h>
#include <X11/X.h> #include <X11/X.h>
#include "quartz.h" #include "quartz.h"
#include "x-hash.h"
/* This lookup table came straight from the Tiger X11 source. I tried to figure /* This lookup table came straight from the Tiger X11 source. I tried to figure
* it out based on CGWindowLevel.h, but I dunno... -JH * it out based on CGWindowLevel.h, but I dunno... -JH
*/ */
static const int normal_window_levels[AppleWMNumWindowLevels+1] = { static const int normal_window_levels[AppleWMNumWindowLevels+1] = {
0, 3, 4, 5, LONG_MIN + 30, LONG_MIN + 29, 0, 3, 4, 5, INT_MIN + 30, INT_MIN + 29,
}; };
static const int rooted_window_levels[AppleWMNumWindowLevels+1] = { static const int rooted_window_levels[AppleWMNumWindowLevels+1] = {
202, 203, 204, 205, 201, 200 202, 203, 204, 205, 201, 200
@ -59,7 +60,7 @@ static int xprSetWindowLevel(
xp_window_id wid; xp_window_id wid;
xp_window_changes wc; xp_window_changes wc;
wid = (xp_window_id) RootlessFrameForWindow (pWin, TRUE); wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, TRUE));
if (wid == 0) if (wid == 0)
return BadWindow; return BadWindow;
@ -90,7 +91,7 @@ static int xprFrameDraw(
{ {
xp_window_id wid; xp_window_id wid;
wid = (xp_window_id) RootlessFrameForWindow (pWin, FALSE); wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, FALSE));
if (wid == 0) if (wid == 0)
return BadWindow; return BadWindow;

View File

@ -49,6 +49,7 @@
#include "globals.h" #include "globals.h"
#include "servermd.h" #include "servermd.h"
#include "dixevents.h" #include "dixevents.h"
#include "x-hash.h"
typedef struct { typedef struct {
int cursorVisible; int cursorVisible;

View File

@ -64,6 +64,28 @@ DEFINE_ATOM_HELPER(xa_native_window_id, "_NATIVE_WINDOW_ID")
static x_hash_table *window_hash; static x_hash_table *window_hash;
static pthread_mutex_t window_hash_mutex; static pthread_mutex_t window_hash_mutex;
/* Prototypes for static functions */
static Bool xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
int newX, int newY, RegionPtr pShape);
static void xprDestroyFrame(RootlessFrameID wid);
static void xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY);
static void xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen,
int newX, int newY, unsigned int newW, unsigned int newH,
unsigned int gravity);
static void xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid);
static void xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape);
static void xprUnmapFrame(RootlessFrameID wid);
static void xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow);
static void xprStopDrawing(RootlessFrameID wid, Bool flush);
static void xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage);
static void xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects,
int shift_x, int shift_y);
static void xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin);
static Bool xprDoReorderWindow(RootlessWindowPtr pFrame);
static void xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects,
int dx, int dy);
static inline xp_error static inline xp_error
xprConfigureWindow(xp_window_id id, unsigned int mask, xprConfigureWindow(xp_window_id id, unsigned int mask,
const xp_window_changes *values) const xp_window_changes *values)
@ -83,7 +105,7 @@ xprSetNativeProperty(RootlessWindowPtr pFrame)
TA_SERVER(); TA_SERVER();
err = xp_get_native_window((xp_window_id) pFrame->wid, &native_id); err = xp_get_native_window(x_cvt_vptr_to_uint(pFrame->wid), &native_id);
if (err == Success) if (err == Success)
{ {
/* FIXME: move this to AppleWM extension */ /* FIXME: move this to AppleWM extension */
@ -174,7 +196,7 @@ xprDestroyFrame(RootlessFrameID wid)
x_hash_table_remove(window_hash, wid); x_hash_table_remove(window_hash, wid);
pthread_mutex_unlock(&window_hash_mutex); pthread_mutex_unlock(&window_hash_mutex);
xp_destroy_window((xp_window_id) wid); xp_destroy_window(x_cvt_vptr_to_uint(wid));
} }
@ -191,7 +213,7 @@ xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY)
wc.x = newX; wc.x = newX;
wc.y = newY; wc.y = newY;
// ErrorF("xprMoveFrame(%d, %p, %d, %d)\n", wid, pScreen, newX, newY); // ErrorF("xprMoveFrame(%d, %p, %d, %d)\n", wid, pScreen, newX, newY);
xprConfigureWindow((xp_window_id) wid, XP_ORIGIN, &wc); xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_ORIGIN, &wc);
} }
@ -216,7 +238,7 @@ xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen,
/* It's unlikely that being async will save us anything here. /* It's unlikely that being async will save us anything here.
But it can't hurt. */ But it can't hurt. */
xprConfigureWindow((xp_window_id) wid, XP_BOUNDS, &wc); xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_BOUNDS, &wc);
} }
@ -241,10 +263,10 @@ xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
else else
{ {
wc.stack_mode = XP_MAPPED_BELOW; wc.stack_mode = XP_MAPPED_BELOW;
wc.sibling = (xp_window_id) nextWid; wc.sibling = x_cvt_vptr_to_uint(nextWid);
} }
xprConfigureWindow((xp_window_id) wid, XP_STACKING, &wc); xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_STACKING, &wc);
} }
@ -271,7 +293,7 @@ xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape)
wc.shape_tx = wc.shape_ty = 0; wc.shape_tx = wc.shape_ty = 0;
xprConfigureWindow((xp_window_id) wid, XP_SHAPE, &wc); xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_SHAPE, &wc);
} }
@ -288,7 +310,7 @@ xprUnmapFrame(RootlessFrameID wid)
wc.stack_mode = XP_UNMAPPED; wc.stack_mode = XP_UNMAPPED;
wc.sibling = 0; wc.sibling = 0;
xprConfigureWindow((xp_window_id) wid, XP_STACKING, &wc); xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_STACKING, &wc);
} }
@ -305,9 +327,9 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
TA_SERVER(); TA_SERVER();
err = xp_lock_window((xp_window_id) wid, NULL, NULL, data, rowbytes, NULL); err = xp_lock_window(x_cvt_vptr_to_uint(wid), NULL, NULL, data, rowbytes, NULL);
if (err != Success) if (err != Success)
FatalError("Could not lock window %i for drawing.", (int) wid); FatalError("Could not lock window %i for drawing.", (int)x_cvt_vptr_to_uint(wid));
*pixelData = data[0]; *pixelData = data[0];
*bytesPerRow = rowbytes[0]; *bytesPerRow = rowbytes[0];
@ -322,7 +344,7 @@ xprStopDrawing(RootlessFrameID wid, Bool flush)
{ {
TA_SERVER(); TA_SERVER();
xp_unlock_window((xp_window_id) wid, flush); xp_unlock_window(x_cvt_vptr_to_uint(wid), flush);
} }
@ -334,7 +356,7 @@ xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage)
{ {
TA_SERVER(); TA_SERVER();
xp_flush_window((xp_window_id) wid); xp_flush_window(x_cvt_vptr_to_uint(wid));
} }
@ -347,7 +369,7 @@ xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects,
{ {
TA_SERVER(); TA_SERVER();
xp_mark_window((xp_window_id) wid, nrects, rects, shift_x, shift_y); xp_mark_window(x_cvt_vptr_to_uint(wid), nrects, rects, shift_x, shift_y);
} }
@ -389,7 +411,7 @@ xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects,
{ {
TA_SERVER(); TA_SERVER();
xp_copy_window((xp_window_id) wid, (xp_window_id) wid, xp_copy_window(x_cvt_vptr_to_uint(wid), x_cvt_vptr_to_uint(wid),
dstNrects, dstRects, dx, dy); dstNrects, dstRects, dx, dy);
} }
@ -446,7 +468,7 @@ xprGetXWindow(xp_window_id wid)
if (window_hash == NULL) if (window_hash == NULL)
return NULL; return NULL;
winRec = x_hash_table_lookup(window_hash, (void *) wid, NULL); winRec = x_hash_table_lookup(window_hash, x_cvt_uint_to_vptr(wid), NULL);
return winRec != NULL ? winRec->win : NULL; return winRec != NULL ? winRec->win : NULL;
} }
@ -477,7 +499,7 @@ xprGetXWindowFromAppKit(int windowNumber)
pthread_mutex_unlock(&window_hash_mutex); pthread_mutex_unlock(&window_hash_mutex);
if (!ret) return NULL; if (!ret) return NULL;
winRec = x_hash_table_lookup(window_hash, (void *) wid, NULL); winRec = x_hash_table_lookup(window_hash, x_cvt_uint_to_vptr(wid), NULL);
return winRec != NULL ? winRec->win : NULL; return winRec != NULL ? winRec->win : NULL;
} }