diff options
Diffstat (limited to 'hw/xwin/winvalargs.c')
-rw-r--r-- | hw/xwin/winvalargs.c | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/hw/xwin/winvalargs.c b/hw/xwin/winvalargs.c index 50587d4b3..008c111a6 100644 --- a/hw/xwin/winvalargs.c +++ b/hw/xwin/winvalargs.c @@ -80,7 +80,7 @@ winValidateArgs(void) for (i = 0; i < g_iNumScreens; ++i) { /* * Check for any combination of - * -multiwindow, -mwextwm, and -rootless. + * -multiwindow and -rootless. */ { int iCount = 0; @@ -88,10 +88,7 @@ winValidateArgs(void) /* Count conflicting options */ if (g_ScreenInfo[i].fMultiWindow) ++iCount; -#ifdef XWIN_MULTIWINDOWEXTWM - if (g_ScreenInfo[i].fMWExtWM) - ++iCount; -#endif + if (g_ScreenInfo[i].fRootless) ++iCount; @@ -101,52 +98,42 @@ winValidateArgs(void) /* Fail if two or more conflicting options */ if (iCount > 1) { - ErrorF("winValidateArgs - Only one of -multiwindow, -mwextwm, " + ErrorF("winValidateArgs - Only one of -multiwindow " "and -rootless can be specific at a time.\n"); return FALSE; } } - /* Check for -multiwindow or -mwextwm and Xdmcp */ + /* Check for -multiwindow and Xdmcp */ /* allow xdmcp if screen 0 is normal. */ if (g_fXdmcpEnabled && !fHasNormalScreen0 && (FALSE || g_ScreenInfo[i]. fMultiWindow -#ifdef XWIN_MULTIWINDOWEXTWM - || g_ScreenInfo[i]. - fMWExtWM -#endif ) ) { ErrorF("winValidateArgs - Xdmcp (-query, -broadcast, or -indirect) " - "is invalid with -multiwindow or -mwextwm.\n"); + "is invalid with -multiwindow.\n"); return FALSE; } - /* Check for -multiwindow, -mwextwm, or -rootless and -fullscreen */ + /* Check for -multiwindow or -rootless and -fullscreen */ if (g_ScreenInfo[i].fFullScreen && (FALSE || g_ScreenInfo[i].fMultiWindow -#ifdef XWIN_MULTIWINDOWEXTWM - || g_ScreenInfo[i].fMWExtWM -#endif || g_ScreenInfo[i].fRootless) ) { ErrorF("winValidateArgs - -fullscreen is invalid with " - "-multiwindow, -mwextwm, or -rootless.\n"); + "-multiwindow or -rootless.\n"); return FALSE; } - /* Check for -multiwindow, -mwextwm, or -rootless and -nodecoration */ + /* Check for -multiwindow or -rootless and -nodecoration */ if (!g_ScreenInfo[i].fDecoration && (FALSE || g_ScreenInfo[i].fMultiWindow -#ifdef XWIN_MULTIWINDOWEXTWM - || g_ScreenInfo[i].fMWExtWM -#endif || g_ScreenInfo[i].fRootless) ) { ErrorF("winValidateArgs - -nodecoration is invalid with " - "-multiwindow, -mwextwm, or -rootless.\n"); + "-multiwindow or -rootless.\n"); return FALSE; } @@ -168,6 +155,14 @@ winValidateArgs(void) "-scrollbars, -resize, -nodecoration, or -lesspointer.\n"); return FALSE; } + + /* Ignore -swcursor if -multiwindow -compositewm is requested */ + if (g_ScreenInfo[i].fMultiWindow && g_ScreenInfo[i].fCompositeWM) { + if (g_fSoftwareCursor) { + g_fSoftwareCursor = FALSE; + winMsg(X_WARNING, "Ignoring -swcursor due to -compositewm\n"); + } + } } winDebug("winValidateArgs - Returning.\n"); |