more MAXSCREENS patches

Jamey Sharp jamey at minilop.net
Sun May 23 16:22:06 PDT 2010


After applying this series, there aren't many uses of MAXSCREENS left.
Keith's fix-private-usage branch deals with one of the per-screen
private key arrays, and probably illustrates how to handle the other.
Most of the other cases are pretty easy to deal with. The obnoxious
cases are PanoramiXRes.info and SpriteRec.windows, since they're
MAXSCREENS-sized arrays embedded in a lot of objects throughout the
server.

I've posted a variant of patch 7 before, and Keith reviewed it, but
before merging wanted people to test it. Nobody did, I guess. Anyway,
this copy of the patch is updated for the other changes in this series.

Patches 5 through 7 conflict with Keith's change-region-api branch. I'm
happy to rebase them after that branch is merged, or Keith's sed scripts
should be able to handle these patches fine. I think the first four
patches should auto-merge cleanly though.

I also wrote a couple of patches to move xnestDefaultWindows and
xnestScreenSaverWindows into screen privates, before realizing that
unless you specify -full, those window IDs are supposed to persist
across Xnest server regen cycles, which screen privates don't.


The following changes since commit c51534961e1bb4c68ff881758862d2f85f572ce7:
  Alan Coopersmith (1):
        xorg-server.pc Requires: xproto >= 7.0.17

are available in the git repository at:

  git://people.freedesktop.org/~jamey/xserver maxscreenless

Jamey Sharp (7):
      Move each screen's screensaver data into ScreenRec.
      Move each screen's root-window pointer into ScreenRec.
      Delete panoramiXdataPtr: it's redundant.
      Move each screen's x/y origin into ScreenRec.
      XineramaSetCursorPosition: use screen bounds directly, not POINT_IN_REGION.
      Delete XineramaScreenRegions cache.
      Accumulate graphics exposures incrementally in PanoramiXCopyArea/Plane.

 Xext/panoramiX.c                      |   99 +++++++----------
 Xext/panoramiX.h                      |    7 --
 Xext/panoramiXprocs.c                 |  192 ++++++++++++++++-----------------
 Xext/panoramiXsrv.h                   |    3 -
 Xext/saver.c                          |   18 ++--
 Xext/shm.c                            |   12 +-
 Xext/xvdisp.c                         |   16 ++--
 Xi/closedev.c                         |    2 +-
 Xi/exevents.c                         |    6 +-
 Xi/xichangecursor.c                   |    2 +-
 Xi/xiquerypointer.c                   |    9 +-
 composite/compinit.c                  |    2 +-
 composite/compoverlay.c               |    2 +-
 composite/compwindow.c                |    2 +-
 dix/devices.c                         |    6 +-
 dix/dispatch.c                        |   13 +--
 dix/enterleave.c                      |   12 +-
 dix/events.c                          |  179 +++++++++++++++---------------
 dix/getevents.c                       |    4 +-
 dix/globals.c                         |    4 -
 dix/main.c                            |    5 +-
 dix/window.c                          |  102 +++++++++---------
 fb/fb.h                               |    2 +-
 hw/dmx/dmxcursor.c                    |   62 ++++++-----
 hw/dmx/dmxextension.c                 |   26 +++---
 hw/dmx/doc/dmx.xml                    |   15 +--
 hw/dmx/input/dmxcommon.c              |    7 +-
 hw/dmx/input/dmxconsole.c             |   25 ++---
 hw/dmx/input/dmxinputinit.c           |    2 +-
 hw/kdrive/src/kdrive.c                |    7 +-
 hw/xfree86/common/xf86Cursor.c        |   94 ++++++++--------
 hw/xfree86/common/xf86Helper.c        |    2 +-
 hw/xfree86/common/xf86RandR.c         |    2 +-
 hw/xfree86/common/xf86xv.c            |    2 +-
 hw/xfree86/dixmods/extmod/xf86vmode.c |    2 +-
 hw/xfree86/dri/dri.c                  |    2 +-
 hw/xfree86/dri2/dri2.c                |    2 +-
 hw/xfree86/modes/xf86RandR12.c        |    6 +-
 hw/xfree86/modes/xf86Rotate.c         |    4 +-
 hw/xfree86/xaa/xaaCpyWin.c            |    2 +-
 hw/xfree86/xaa/xaaOverlay.c           |    2 +-
 hw/xfree86/xaa/xaaOverlayDF.c         |    2 +-
 hw/xquartz/applewm.c                  |    6 +-
 hw/xquartz/darwin.c                   |   24 ++--
 hw/xquartz/darwinEvents.c             |    4 +-
 hw/xquartz/pseudoramiX.c              |    4 +-
 hw/xquartz/quartz.c                   |   14 ++--
 hw/xquartz/xpr/xprCursor.c            |    4 +-
 hw/xquartz/xpr/xprFrame.c             |    2 +-
 hw/xquartz/xpr/xprScreen.c            |    4 +-
 hw/xwin/winkeybd.c                    |    2 +-
 hw/xwin/winscrinit.c                  |    6 +-
 hw/xwin/winwin32rootlesswindow.c      |    2 +-
 hw/xwin/winwindow.c                   |    2 +-
 include/globals.h                     |    3 -
 include/scrnintstr.h                  |   14 +++-
 include/windowstr.h                   |   13 +--
 mi/midispcur.c                        |   12 +-
 mi/miexpose.c                         |    6 +-
 mi/mioverlay.c                        |    6 +-
 miext/rootless/rootlessCommon.c       |    4 +-
 miext/rootless/rootlessCommon.h       |    2 +-
 miext/rootless/rootlessScreen.c       |    2 +-
 miext/rootless/rootlessWindow.c       |   26 +++--
 randr/rrscreen.c                      |   10 +-
 randr/rrxinerama.c                    |    2 +-
 record/record.c                       |    9 +-
 render/render.c                       |   46 ++++----
 xfixes/cursor.c                       |    2 +-
 xkb/xkbInit.c                         |    3 +-
 70 files changed, 576 insertions(+), 623 deletions(-)


More information about the xorg-devel mailing list