diff --git a/config/x11-input.fdi b/config/x11-input.fdi
index f2e2d50..9057f94 100644
--- a/config/x11-input.fdi
+++ b/config/x11-input.fdi
@@ -66,7 +66,7 @@
keyboard
- pc105
+ macintosh
evdev
diff --git a/dix/dispatch.c b/dix/dispatch.c
index 1b81b81..67ac344 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -151,6 +151,8 @@ typedef const char *string;
#include "Xserver-dtrace.h"
#endif
+#include "../os/osdep.h"
+
#define mskcnt ((MAXCLIENTS + 31) / 32)
#define BITMASK(i) (1U << ((i) & 31))
#define MASKIDX(i) ((i) >> 5)
@@ -2128,6 +2130,7 @@ DoGetImage(ClientPtr client, int format, Drawable drawable,
}
}
}
+ (void)FlushClient(client, (OsCommPtr)client->osPrivate, (char *)NULL, 0);
if (pVisibleRegion)
REGION_DESTROY(pDraw->pScreen, pVisibleRegion);
if (!im_return)
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
index 5a25764..ee6b98e 100644
--- a/exa/exa_unaccel.c
+++ b/exa/exa_unaccel.c
@@ -362,6 +362,7 @@ ExaCheckComposite (CARD8 op,
CARD32
exaGetPixmapFirstPixel (PixmapPtr pPixmap)
{
+ ExaScreenPriv(pPixmap->drawable.pScreen);
CARD32 pixel;
void *fb;
Bool need_finish = FALSE;
@@ -376,7 +377,8 @@ exaGetPixmapFirstPixel (PixmapPtr pPixmap)
fb = pExaPixmap->sys_ptr;
/* Try to avoid framebuffer readbacks */
- if ((!offscreen && !sys_valid && !damaged) ||
+ if (pExaScr->info->CreatePixmap ||
+ (!offscreen && !sys_valid && !damaged) ||
(offscreen && (!sys_valid || damaged)))
{
box.x1 = 0;