summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/kdrive/ephyr/hostx.c6
-rw-r--r--hw/xfree86/ramdac/xf86HWCurs.c4
-rw-r--r--os/WaitFor.c4
3 files changed, 12 insertions, 2 deletions
diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
index 887f6544c..fe69f84ae 100644
--- a/hw/kdrive/ephyr/hostx.c
+++ b/hw/kdrive/ephyr/hostx.c
@@ -95,6 +95,7 @@ char *ephyrResName = NULL;
int ephyrResNameFromCmd = 0;
char *ephyrTitle = NULL;
Bool ephyr_glamor = FALSE;
+extern Bool ephyr_glamor_skip_present;
Bool
hostx_has_extension(xcb_extension_t *extension)
@@ -898,7 +899,10 @@ hostx_screen_init(KdScreenInfo *screen,
&size_hints);
}
- xcb_map_window(HostX.conn, scrpriv->win);
+#ifdef GLAMOR
+ if (!ephyr_glamor_skip_present)
+#endif
+ xcb_map_window(HostX.conn, scrpriv->win);
/* Set explicit window position if it was informed in
* -screen option (WxH+X or WxH+X+Y). Otherwise, accept the
diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c
index da2b18101..448132095 100644
--- a/hw/xfree86/ramdac/xf86HWCurs.c
+++ b/hw/xfree86/ramdac/xf86HWCurs.c
@@ -148,6 +148,10 @@ xf86CheckHWCursor(ScreenPtr pScreen, CursorPtr cursor, xf86CursorInfoPtr infoPtr
continue;
sPriv = dixLookupPrivate(&pSlave->devPrivates, xf86CursorScreenKey);
+ if (!sPriv) /* NULL if Option "SWCursor", possibly other conditions */
+ return FALSE;
+
+ /* FALSE if HWCursor not supported by slave */
if (!xf86ScreenCheckHWCursor(pSlave, cursor, sPriv->CursorInfoPtr))
return FALSE;
}
diff --git a/os/WaitFor.c b/os/WaitFor.c
index 7d5aa32c8..ff1c85e3a 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -204,8 +204,10 @@ WaitForSomething(Bool are_ready)
crashed connections and the screen saver timeout */
while (1) {
/* deal with any blocked jobs */
- if (workQueue)
+ if (workQueue) {
ProcessWorkQueue();
+ are_ready = clients_are_ready();
+ }
if (are_ready)
timeout = 0;