diff options
author | marha <marha@users.sourceforge.net> | 2012-03-26 14:23:28 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-26 14:23:28 +0200 |
commit | 76bcc36ed305418a3ddc5752d287ede894243e1b (patch) | |
tree | bacb320c825768471ce56f058f17ce863d592376 /xorg-server/hw/dmx/dmxcb.c | |
parent | 7d894e32566b710952c44cbc71939ad1d9e2fa8d (diff) | |
parent | 0f834b91a4768673833ab4917e87d86c237bb1a6 (diff) | |
download | vcxsrv-76bcc36ed305418a3ddc5752d287ede894243e1b.tar.gz vcxsrv-76bcc36ed305418a3ddc5752d287ede894243e1b.tar.bz2 vcxsrv-76bcc36ed305418a3ddc5752d287ede894243e1b.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
pixman/pixman/pixman-mmx.c
xorg-server/Xext/shm.c
xorg-server/Xext/syncsrv.h
xorg-server/Xext/xvmain.c
xorg-server/Xi/exevents.c
xorg-server/Xi/opendev.c
xorg-server/composite/compalloc.c
xorg-server/composite/compoverlay.c
xorg-server/dix/colormap.c
xorg-server/dix/devices.c
xorg-server/dix/dispatch.c
xorg-server/dix/dixfonts.c
xorg-server/dix/eventconvert.c
xorg-server/dix/events.c
xorg-server/dix/gc.c
xorg-server/dix/getevents.c
xorg-server/dix/main.c
xorg-server/dix/privates.c
xorg-server/dix/registry.c
xorg-server/dix/resource.c
xorg-server/exa/exa_accel.c
xorg-server/exa/exa_migration_classic.c
xorg-server/exa/exa_unaccel.c
xorg-server/fb/fb.h
xorg-server/fb/fbcopy.c
xorg-server/fb/fbpixmap.c
xorg-server/glx/dispatch.h
xorg-server/glx/glapi.h
xorg-server/glx/glapi_gentable.c
xorg-server/glx/glapitable.h
xorg-server/glx/glprocs.h
xorg-server/glx/glxcmds.c
xorg-server/glx/glxcmdsswap.c
xorg-server/glx/glxdricommon.c
xorg-server/glx/glxdriswrast.c
xorg-server/glx/glxext.c
xorg-server/glx/indirect_dispatch.c
xorg-server/glx/indirect_dispatch.h
xorg-server/glx/indirect_dispatch_swap.c
xorg-server/glx/indirect_size.h
xorg-server/glx/indirect_size_get.h
xorg-server/glx/indirect_table.c
xorg-server/glx/indirect_util.c
xorg-server/glx/rensize.c
xorg-server/glx/single2swap.c
xorg-server/glx/singlepix.c
xorg-server/glx/singlepixswap.c
xorg-server/glx/singlesize.c
xorg-server/hw/dmx/dmxinit.c
xorg-server/hw/kdrive/ephyr/ephyr.c
xorg-server/hw/kdrive/ephyr/hostx.c
xorg-server/hw/kdrive/ephyr/hostx.h
xorg-server/hw/kdrive/src/kinput.c
xorg-server/hw/xfree86/common/compiler.h
xorg-server/hw/xwin/InitInput.c
xorg-server/hw/xwin/InitOutput.c
xorg-server/hw/xwin/ddraw.h
xorg-server/hw/xwin/glx/glwrap.c
xorg-server/hw/xwin/glx/indirect.c
xorg-server/hw/xwin/glx/wgl_ext_api.h
xorg-server/hw/xwin/glx/winpriv.c
xorg-server/hw/xwin/win.h
xorg-server/hw/xwin/winallpriv.c
xorg-server/hw/xwin/winauth.c
xorg-server/hw/xwin/winclipboard.h
xorg-server/hw/xwin/winclipboardinit.c
xorg-server/hw/xwin/winclipboardthread.c
xorg-server/hw/xwin/winclipboardunicode.c
xorg-server/hw/xwin/winclipboardwndproc.c
xorg-server/hw/xwin/winclipboardwrappers.c
xorg-server/hw/xwin/winclipboardxevents.c
xorg-server/hw/xwin/wincmap.c
xorg-server/hw/xwin/winconfig.c
xorg-server/hw/xwin/wincreatewnd.c
xorg-server/hw/xwin/wincursor.c
xorg-server/hw/xwin/windialogs.c
xorg-server/hw/xwin/winengine.c
xorg-server/hw/xwin/winerror.c
xorg-server/hw/xwin/wingc.c
xorg-server/hw/xwin/wingetsp.c
xorg-server/hw/xwin/winkeybd.c
xorg-server/hw/xwin/winkeybd.h
xorg-server/hw/xwin/winlayouts.h
xorg-server/hw/xwin/winmisc.c
xorg-server/hw/xwin/winmonitors.c
xorg-server/hw/xwin/winmouse.c
xorg-server/hw/xwin/winmsg.c
xorg-server/hw/xwin/winmsg.h
xorg-server/hw/xwin/winmultiwindowclass.c
xorg-server/hw/xwin/winmultiwindowicons.c
xorg-server/hw/xwin/winmultiwindowshape.c
xorg-server/hw/xwin/winmultiwindowwindow.c
xorg-server/hw/xwin/winmultiwindowwm.c
xorg-server/hw/xwin/winmultiwindowwndproc.c
xorg-server/hw/xwin/winnativegdi.c
xorg-server/hw/xwin/winpfbdd.c
xorg-server/hw/xwin/winpixmap.c
xorg-server/hw/xwin/winpolyline.c
xorg-server/hw/xwin/winprefs.c
xorg-server/hw/xwin/winprocarg.c
xorg-server/hw/xwin/winregistry.c
xorg-server/hw/xwin/winscrinit.c
xorg-server/hw/xwin/winsetsp.c
xorg-server/hw/xwin/winshaddd.c
xorg-server/hw/xwin/winshadddnl.c
xorg-server/hw/xwin/winshadgdi.c
xorg-server/hw/xwin/wintrayicon.c
xorg-server/hw/xwin/winwin32rootless.c
xorg-server/hw/xwin/winwin32rootlesswindow.c
xorg-server/hw/xwin/winwin32rootlesswndproc.c
xorg-server/hw/xwin/winwindow.c
xorg-server/hw/xwin/winwindow.h
xorg-server/hw/xwin/winwindowswm.c
xorg-server/hw/xwin/winwndproc.c
xorg-server/include/callback.h
xorg-server/include/dixstruct.h
xorg-server/include/misc.h
xorg-server/include/os.h
xorg-server/include/scrnintstr.h
xorg-server/mi/micmap.c
xorg-server/mi/miinitext.c
xorg-server/mi/mioverlay.c
xorg-server/mi/misprite.c
xorg-server/mi/mivaltree.c
xorg-server/mi/miwindow.c
xorg-server/miext/damage/damage.c
xorg-server/miext/rootless/rootlessGC.c
xorg-server/miext/rootless/rootlessWindow.c
xorg-server/os/WaitFor.c
xorg-server/os/access.c
xorg-server/os/connection.c
xorg-server/os/io.c
xorg-server/os/log.c
xorg-server/os/osinit.c
xorg-server/os/utils.c
xorg-server/os/xdmcp.c
xorg-server/os/xprintf.c
xorg-server/os/xstrans.c
xorg-server/render/mipict.c
xorg-server/xkb/xkbActions.c
xorg-server/xkb/xkbInit.c
xorg-server/xkeyboard-config/compat/default.in
Diffstat (limited to 'xorg-server/hw/dmx/dmxcb.c')
-rw-r--r-- | xorg-server/hw/dmx/dmxcb.c | 161 |
1 files changed, 85 insertions, 76 deletions
diff --git a/xorg-server/hw/dmx/dmxcb.c b/xorg-server/hw/dmx/dmxcb.c index d0eb35117..86015f395 100644 --- a/xorg-server/hw/dmx/dmxcb.c +++ b/xorg-server/hw/dmx/dmxcb.c @@ -43,40 +43,42 @@ #include "dmxinput.h" #include "dmxlog.h" -extern int connBlockScreenStart; +extern int connBlockScreenStart; #ifdef PANORAMIX #include "panoramiXsrv.h" -extern int PanoramiXPixWidth; -extern int PanoramiXPixHeight; -extern int PanoramiXNumScreens; +extern int PanoramiXPixWidth; +extern int PanoramiXPixHeight; +extern int PanoramiXNumScreens; #endif - int dmxGlobalWidth, dmxGlobalHeight; +int dmxGlobalWidth, dmxGlobalHeight; /** We may want the wall dimensions to be different from the bounding * box dimensions that Xinerama computes, so save those and update them * here. */ -void dmxSetWidthHeight(int width, int height) +void +dmxSetWidthHeight(int width, int height) { - dmxGlobalWidth = width; + dmxGlobalWidth = width; dmxGlobalHeight = height; } /** Computes the global bounding box for DMX. This may be larger than * the one computed by Xinerama because of the DMX configuration * file. */ -void dmxComputeWidthHeight(DMXRecomputeFlag flag) +void +dmxComputeWidthHeight(DMXRecomputeFlag flag) { - int i; + int i; DMXScreenInfo *dmxScreen; - int w = 0; - int h = 0; - + int w = 0; + int h = 0; + for (i = 0; i < dmxNumScreens; i++) { - /* Don't use root* here because this is - * the global bounding box. */ + /* Don't use root* here because this is + * the global bounding box. */ dmxScreen = &dmxScreens[i]; if (w < dmxScreen->scrnWidth + dmxScreen->rootXOrigin) w = dmxScreen->scrnWidth + dmxScreen->rootXOrigin; @@ -85,7 +87,8 @@ void dmxComputeWidthHeight(DMXRecomputeFlag flag) } if (!dmxGlobalWidth && !dmxGlobalHeight) { dmxLog(dmxInfo, "Using %dx%d as global bounding box\n", w, h); - } else { + } + else { switch (flag) { case DMX_NO_RECOMPUTE_BOUNDING_BOX: dmxLog(dmxInfo, @@ -101,20 +104,21 @@ void dmxComputeWidthHeight(DMXRecomputeFlag flag) break; } } - - dmxGlobalWidth = w; + + dmxGlobalWidth = w; dmxGlobalHeight = h; } /** A callback routine that hooks into Xinerama and provides a * convenient place to print summary log information during server * startup. This routine does not modify any values. */ -void dmxConnectionBlockCallback(void) +void +dmxConnectionBlockCallback(void) { - xWindowRoot *root = (xWindowRoot *)(ConnectionInfo+connBlockScreenStart); - int offset = connBlockScreenStart + sizeof(xWindowRoot); - int i; - Bool *found = NULL; + xWindowRoot *root = (xWindowRoot *) (ConnectionInfo + connBlockScreenStart); + int offset = connBlockScreenStart + sizeof(xWindowRoot); + int i; + Bool *found = NULL; MAXSCREENSALLOC(found); if (!found) @@ -130,22 +134,24 @@ void dmxConnectionBlockCallback(void) "Changing Xinerama dimensions from %d %d to %d %d\n", PanoramiXPixWidth, PanoramiXPixHeight, dmxGlobalWidth, dmxGlobalHeight); - PanoramiXPixWidth = root->pixWidth = dmxGlobalWidth; + PanoramiXPixWidth = root->pixWidth = dmxGlobalWidth; PanoramiXPixHeight = root->pixHeight = dmxGlobalHeight; - } else { - dmxGlobalWidth = PanoramiXPixWidth; + } + else { + dmxGlobalWidth = PanoramiXPixWidth; dmxGlobalHeight = PanoramiXPixHeight; } dmxLog(dmxInfo, "%d screens configured with Xinerama (%d %d)\n", PanoramiXNumScreens, PanoramiXPixWidth, PanoramiXPixHeight); - FOR_NSCREENS(i) found[i] = FALSE; - } else { + FOR_NSCREENS(i) found[i] = FALSE; + } + else { #endif - /* This never happens because we're - * either called from a Xinerama - * callback or during reconfiguration - * (which only works with Xinerama on). - * In any case, be reasonable. */ + /* This never happens because we're + * either called from a Xinerama + * callback or during reconfiguration + * (which only works with Xinerama on). + * In any case, be reasonable. */ dmxLog(dmxInfo, "%d screens configured (%d %d)\n", screenInfo.numScreens, root->pixWidth, root->pixHeight); #ifdef PANORAMIX @@ -153,46 +159,48 @@ void dmxConnectionBlockCallback(void) #endif for (i = 0; i < root->nDepths; i++) { - xDepth *depth = (xDepth *)(ConnectionInfo + offset); - int voffset = offset + sizeof(xDepth); - xVisualType *visual = (xVisualType *)(ConnectionInfo + voffset); - int j; - + xDepth *depth = (xDepth *) (ConnectionInfo + offset); + int voffset = offset + sizeof(xDepth); + xVisualType *visual = (xVisualType *) (ConnectionInfo + voffset); + int j; + dmxLog(dmxInfo, "%d visuals at depth %d:\n", depth->nVisuals, depth->depth); for (j = 0; j < depth->nVisuals; j++, visual++) { XVisualInfo vi; - - vi.visual = NULL; - vi.visualid = visual->visualID; - vi.screen = 0; - vi.depth = depth->depth; - vi.class = visual->class; - vi.red_mask = visual->redMask; - vi.green_mask = visual->greenMask; - vi.blue_mask = visual->blueMask; + + vi.visual = NULL; + vi.visualid = visual->visualID; + vi.screen = 0; + vi.depth = depth->depth; + vi.class = visual->class; + vi.red_mask = visual->redMask; + vi.green_mask = visual->greenMask; + vi.blue_mask = visual->blueMask; vi.colormap_size = visual->colormapEntries; - vi.bits_per_rgb = visual->bitsPerRGB; + vi.bits_per_rgb = visual->bitsPerRGB; dmxLogVisual(NULL, &vi, 0); #ifdef PANORAMIX - if (!noPanoramiXExtension) { - int k; - FOR_NSCREENS(k) { - DMXScreenInfo *dmxScreen = &dmxScreens[k]; - - if (dmxScreen->beDisplay) { - XVisualInfo *pvi = - &dmxScreen->beVisuals[dmxScreen->beDefVisualIndex]; - if (pvi->depth == depth->depth && - pvi->class == visual->class) - found[k] = TRUE; - } else { - /* Screen #k is detatched, so it always succeeds */ - found[k] = TRUE; - } - } - } + if (!noPanoramiXExtension) { + int k; + + FOR_NSCREENS(k) { + DMXScreenInfo *dmxScreen = &dmxScreens[k]; + + if (dmxScreen->beDisplay) { + XVisualInfo *pvi = + &dmxScreen->beVisuals[dmxScreen->beDefVisualIndex]; + if (pvi->depth == depth->depth && + pvi->class == visual->class) + found[k] = TRUE; + } + else { + /* Screen #k is detatched, so it always succeeds */ + found[k] = TRUE; + } + } + } #endif } offset = voffset + depth->nVisuals * sizeof(xVisualType); @@ -203,18 +211,19 @@ void dmxConnectionBlockCallback(void) #ifdef PANORAMIX if (!noPanoramiXExtension) { - Bool fatal = FALSE; - FOR_NSCREENS(i) { - fatal |= !found[i]; - if (!found[i]) { - dmxLog(dmxError, - "The default visual for screen #%d does not match " - "any of the\n", i); - dmxLog(dmxError, - "consolidated visuals from Xinerama (listed above)\n"); - } - } - if (fatal) + Bool fatal = FALSE; + + FOR_NSCREENS(i) { + fatal |= !found[i]; + if (!found[i]) { + dmxLog(dmxError, + "The default visual for screen #%d does not match " + "any of the\n", i); + dmxLog(dmxError, + "consolidated visuals from Xinerama (listed above)\n"); + } + } + if (fatal) dmxLog(dmxFatal, "dmxConnectionBlockCallback: invalid screen(s) found"); } |