diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2011-11-23 10:49:33 +0100 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2011-11-25 16:59:46 +0100 |
commit | 2e8aac7031a83f507169f6fe42924c51bdaf7326 (patch) | |
tree | b11c569c28616e3ff316fc4f4fb176851b927b1e | |
parent | 31e80b2a609631d85341025d7f2d0fb818f386f5 (diff) |
vmwlegacy: Accept option "GuiLayout" as a synonym for "staticXinerama"
It's more user-friendly and in line with what it's being used for in the
vmwgfx driver.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
-rw-r--r-- | src/vmware.c | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/vmware.c b/src/vmware.c index 0f3e36f..70c6730 100644 --- a/src/vmware.c +++ b/src/vmware.c @@ -344,13 +344,15 @@ VMWAREParseTopologyElement(ScrnInfoPtr pScrn, static xXineramaScreenInfo * VMWAREParseTopologyString(ScrnInfoPtr pScrn, const char *topology, - unsigned int *retNumOutputs) + unsigned int *retNumOutputs, + const char info[]) { xXineramaScreenInfo *extents = NULL; unsigned int numOutputs = 0; const char *str = topology; - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Parsing static Xinerama topology: Starting...\n"); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Parsing %s topology: Starting...\n", + info); do { unsigned int x, y, width, height; @@ -391,11 +393,13 @@ VMWAREParseTopologyString(ScrnInfoPtr pScrn, extents[numOutputs - 1].height = height; } while (*str != 0); - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Parsing static Xinerama topology: Succeeded.\n"); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Parsing %s topology: Succeeded.\n", + info); goto exit; error: - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Parsing static Xinerama topology: Failed.\n"); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Parsing %s topology: Failed.\n", + info); free(extents); extents = NULL; @@ -1435,11 +1439,25 @@ VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) } - if (useXinerama && xf86IsOptionSet(options, OPTION_STATIC_XINERAMA)) { + if (useXinerama && xf86IsOptionSet(options, OPTION_GUI_LAYOUT)) { + char *topology = xf86GetOptValString(options, OPTION_GUI_LAYOUT); + if (topology) { + pVMWARE->xineramaState = + VMWAREParseTopologyString(pScrn, topology, + &pVMWARE->xineramaNumOutputs, "gui"); + + pVMWARE->xineramaStatic = pVMWARE->xineramaState != NULL; + + free(topology); + } + } else if (useXinerama && + xf86IsOptionSet(options, OPTION_STATIC_XINERAMA)) { char *topology = xf86GetOptValString(options, OPTION_STATIC_XINERAMA); if (topology) { pVMWARE->xineramaState = - VMWAREParseTopologyString(pScrn, topology, &pVMWARE->xineramaNumOutputs); + VMWAREParseTopologyString(pScrn, topology, + &pVMWARE->xineramaNumOutputs, + "static Xinerama"); pVMWARE->xineramaStatic = pVMWARE->xineramaState != NULL; |