summaryrefslogtreecommitdiff
path: root/hw/xwin/winscrinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xwin/winscrinit.c')
-rw-r--r--hw/xwin/winscrinit.c33
1 files changed, 22 insertions, 11 deletions
diff --git a/hw/xwin/winscrinit.c b/hw/xwin/winscrinit.c
index ce0aada31..84df00d08 100644
--- a/hw/xwin/winscrinit.c
+++ b/hw/xwin/winscrinit.c
@@ -89,8 +89,8 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
DWORD dwInitialBPP;
#if CYGDEBUG || YES
- winDebug("winScreenInit - dwWidth: %ld dwHeight: %ld\n",
- pScreenInfo->dwWidth, pScreenInfo->dwHeight);
+ winDebug("winScreenInit - dwWidth: %d dwHeight: %d\n",
+ (unsigned int)pScreenInfo->dwWidth, (unsigned int)pScreenInfo->dwHeight);
#endif
/* Allocate privates for this screen */
@@ -216,15 +216,19 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
else
winErrorFVerb(2, "winScreenInit - Using software cursor\n");
- /*
- Note the screen origin in a normalized coordinate space where (0,0) is at the top left
- of the native virtual desktop area
- */
- pScreen->x = pScreenInfo->dwInitialX - GetSystemMetrics(SM_XVIRTUALSCREEN);
- pScreen->y = pScreenInfo->dwInitialY - GetSystemMetrics(SM_YVIRTUALSCREEN);
+ if (!noPanoramiXExtension) {
+ /*
+ Note the screen origin in a normalized coordinate space where (0,0) is at the top left
+ of the native virtual desktop area
+ */
+ pScreen->x =
+ pScreenInfo->dwInitialX - GetSystemMetrics(SM_XVIRTUALSCREEN);
+ pScreen->y =
+ pScreenInfo->dwInitialY - GetSystemMetrics(SM_YVIRTUALSCREEN);
- ErrorF("Screen %d added at virtual desktop coordinate (%d,%d).\n",
- pScreen->myNum, pScreen->x, pScreen->y);
+ ErrorF("Screen %d added at virtual desktop coordinate (%d,%d).\n",
+ pScreen->myNum, pScreen->x, pScreen->y);
+ }
#if CYGDEBUG || YES
winDebug("winScreenInit - returning\n");
@@ -537,6 +541,11 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
|| pScreenInfo->fInternalWM
#endif
) {
+ if ((pScreenInfo->dwBPP == 8) && (pScreenInfo->fCompositeWM)) {
+ ErrorF("-compositewm disabled due to 8bpp depth\n");
+ pScreenInfo->fCompositeWM = FALSE;
+ }
+
#if CYGDEBUG || YES
winDebug("winFinishScreenInitFB - Calling winInitWM.\n");
#endif
@@ -550,7 +559,9 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
#ifdef XWIN_MULTIWINDOWEXTWM
pScreenInfo->fInternalWM ||
#endif
- FALSE)) {
+ FALSE,
+ pScreenInfo->fCompositeWM
+ )) {
ErrorF("winFinishScreenInitFB - winInitWM () failed.\n");
return FALSE;
}