Merge branch 'master' into XACE-SELINUX
Conflicts: Xext/EVI.c Xext/bigreq.c Xext/cup.c Xext/dpms.c Xext/fontcache.c Xext/mitmisc.c Xext/xcmisc.c Xext/xf86bigfont.c Xext/xtest.c configure.ac dbe/dbe.c hw/darwin/darwin.h hw/darwin/darwinEvents.c hw/darwin/iokit/xfIOKit.h hw/darwin/iokit/xfIOKitCursor.c hw/darwin/quartz/fullscreen/fullscreen.c hw/darwin/quartz/fullscreen/quartzCursor.c hw/darwin/quartz/quartz.c hw/darwin/quartz/quartzCommon.h hw/darwin/quartz/quartzCursor.c hw/darwin/quartz/xpr/dri.c hw/darwin/quartz/xpr/dristruct.h hw/darwin/quartz/xpr/xprCursor.c hw/darwin/quartz/xpr/xprFrame.c hw/xfree86/modes/xf86RandR12.c include/cursor.h miext/rootless/rootlessCommon.h miext/rootless/rootlessScreen.c miext/rootless/rootlessWindow.c render/picturestr.h Trying to pick up the pieces from the darwin churn here...
This commit is contained in:
@@ -198,6 +198,7 @@ RootlessCreateWindow(WindowPtr pWin)
|
||||
RegionRec saveRoot;
|
||||
|
||||
SETWINREC(pWin, NULL);
|
||||
dixSetPrivate(&pWin->devPrivates, rootlessWindowOldPixmapPrivateKey, NULL);
|
||||
|
||||
SCREEN_UNWRAP(pWin->drawable.pScreen, CreateWindow);
|
||||
|
||||
@@ -445,6 +446,12 @@ RootlessInitializeFrame(WindowPtr pWin, RootlessWindowRec *winRec)
|
||||
}
|
||||
|
||||
|
||||
Bool
|
||||
RootlessColormapCallback (void *data, int first_color, int n_colors, uint32_t *colors)
|
||||
{
|
||||
return RootlessResolveColormap (data, first_color, n_colors, colors);
|
||||
}
|
||||
|
||||
/*
|
||||
* RootlessEnsureFrame
|
||||
* Make sure the given window is framed. If the window doesn't have a
|
||||
@@ -503,6 +510,9 @@ RootlessEnsureFrame(WindowPtr pWin)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (pWin->drawable.depth == 8)
|
||||
RootlessFlushWindowColormap(pWin);
|
||||
|
||||
#ifdef SHAPE
|
||||
if (pShape != NULL)
|
||||
REGION_UNINIT(pScreen, &shape);
|
||||
@@ -1455,6 +1465,26 @@ out:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
RootlessFlushWindowColormap (WindowPtr pWin)
|
||||
{
|
||||
RootlessWindowRec *winRec = WINREC (pWin);
|
||||
xp_window_changes wc;
|
||||
|
||||
if (winRec == NULL)
|
||||
return;
|
||||
|
||||
RootlessStopDrawing (pWin, FALSE);
|
||||
|
||||
/* This is how we tell xp that the colormap may have changed. */
|
||||
|
||||
wc.colormap = RootlessColormapCallback;
|
||||
wc.colormap_data = pWin->drawable.pScreen;
|
||||
|
||||
configure_window (winRec->wid, XP_COLORMAP, &wc);
|
||||
}
|
||||
|
||||
/*
|
||||
* RootlessChangeBorderWidth
|
||||
* FIXME: untested!
|
||||
@@ -1516,20 +1546,20 @@ RootlessChangeBorderWidth(WindowPtr pWin, unsigned int width)
|
||||
void
|
||||
RootlessOrderAllWindows (void)
|
||||
{
|
||||
int i;
|
||||
WindowPtr pWin;
|
||||
|
||||
RL_DEBUG_MSG("RootlessOrderAllWindows() ");
|
||||
for (i = 0; i < screenInfo.numScreens; i++) {
|
||||
if (screenInfo.screens[i] == NULL) continue;
|
||||
pWin = WindowTable[i];
|
||||
if (pWin == NULL) continue;
|
||||
int i;
|
||||
WindowPtr pWin;
|
||||
|
||||
RL_DEBUG_MSG("RootlessOrderAllWindows() ");
|
||||
for (i = 0; i < screenInfo.numScreens; i++) {
|
||||
if (screenInfo.screens[i] == NULL) continue;
|
||||
pWin = WindowTable[i];
|
||||
if (pWin == NULL) continue;
|
||||
|
||||
for (pWin = pWin->firstChild; pWin != NULL; pWin = pWin->nextSib) {
|
||||
if (!pWin->realized) continue;
|
||||
if (RootlessEnsureFrame(pWin) == NULL) continue;
|
||||
RootlessReorderWindow (pWin);
|
||||
for (pWin = pWin->firstChild; pWin != NULL; pWin = pWin->nextSib) {
|
||||
if (!pWin->realized) continue;
|
||||
if (RootlessEnsureFrame(pWin) == NULL) continue;
|
||||
RootlessReorderWindow (pWin);
|
||||
}
|
||||
}
|
||||
}
|
||||
RL_DEBUG_MSG("RootlessOrderAllWindows() done");
|
||||
RL_DEBUG_MSG("RootlessOrderAllWindows() done");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user