Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug
This commit is contained in:
commit
3a36b0a24a
|
@ -468,7 +468,7 @@ symlink_mesa_shader_slang_library() {
|
||||||
action slang_core_gc.h
|
action slang_core_gc.h
|
||||||
action slang_fragment_builtin_gc.h
|
action slang_fragment_builtin_gc.h
|
||||||
action slang_shader_syn.h
|
action slang_shader_syn.h
|
||||||
action slang_version_syn.h
|
action slang_pp_version_syn.h
|
||||||
action slang_vertex_builtin_gc.h
|
action slang_vertex_builtin_gc.h
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -571,24 +571,40 @@ xf86InitOrigins(void)
|
||||||
/* force edge lists */
|
/* force edge lists */
|
||||||
if(screen->left) {
|
if(screen->left) {
|
||||||
ref = screen->left->screennum;
|
ref = screen->left->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
pLayout->left = AddEdge(pLayout->left,
|
pLayout->left = AddEdge(pLayout->left,
|
||||||
0, xf86Screens[i]->pScreen->height,
|
0, xf86Screens[i]->pScreen->height,
|
||||||
xf86Screens[ref]->pScreen->width, 0, ref);
|
xf86Screens[ref]->pScreen->width, 0, ref);
|
||||||
}
|
}
|
||||||
if(screen->right) {
|
if(screen->right) {
|
||||||
ref = screen->right->screennum;
|
ref = screen->right->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
pScreen = xf86Screens[i]->pScreen;
|
pScreen = xf86Screens[i]->pScreen;
|
||||||
pLayout->right = AddEdge(pLayout->right,
|
pLayout->right = AddEdge(pLayout->right,
|
||||||
0, pScreen->height, -pScreen->width, 0, ref);
|
0, pScreen->height, -pScreen->width, 0, ref);
|
||||||
}
|
}
|
||||||
if(screen->top) {
|
if(screen->top) {
|
||||||
ref = screen->top->screennum;
|
ref = screen->top->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
pLayout->up = AddEdge(pLayout->up,
|
pLayout->up = AddEdge(pLayout->up,
|
||||||
0, xf86Screens[i]->pScreen->width,
|
0, xf86Screens[i]->pScreen->width,
|
||||||
0, xf86Screens[ref]->pScreen->height, ref);
|
0, xf86Screens[ref]->pScreen->height, ref);
|
||||||
}
|
}
|
||||||
if(screen->bottom) {
|
if(screen->bottom) {
|
||||||
ref = screen->bottom->screennum;
|
ref = screen->bottom->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
pScreen = xf86Screens[i]->pScreen;
|
pScreen = xf86Screens[i]->pScreen;
|
||||||
pLayout->down = AddEdge(pLayout->down,
|
pLayout->down = AddEdge(pLayout->down,
|
||||||
0, pScreen->width, 0, -pScreen->height, ref);
|
0, pScreen->width, 0, -pScreen->height, ref);
|
||||||
|
@ -604,6 +620,10 @@ xf86InitOrigins(void)
|
||||||
break;
|
break;
|
||||||
case PosRelative:
|
case PosRelative:
|
||||||
ref = screen->refscreen->screennum;
|
ref = screen->refscreen->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
if(screensLeft & (1 << ref)) break;
|
if(screensLeft & (1 << ref)) break;
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->x;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->x;
|
||||||
dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->y;
|
dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->y;
|
||||||
|
@ -611,6 +631,10 @@ xf86InitOrigins(void)
|
||||||
break;
|
break;
|
||||||
case PosRightOf:
|
case PosRightOf:
|
||||||
ref = screen->refscreen->screennum;
|
ref = screen->refscreen->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
if(screensLeft & (1 << ref)) break;
|
if(screensLeft & (1 << ref)) break;
|
||||||
pScreen = xf86Screens[ref]->pScreen;
|
pScreen = xf86Screens[ref]->pScreen;
|
||||||
dixScreenOrigins[i].x =
|
dixScreenOrigins[i].x =
|
||||||
|
@ -620,6 +644,10 @@ xf86InitOrigins(void)
|
||||||
break;
|
break;
|
||||||
case PosLeftOf:
|
case PosLeftOf:
|
||||||
ref = screen->refscreen->screennum;
|
ref = screen->refscreen->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
if(screensLeft & (1 << ref)) break;
|
if(screensLeft & (1 << ref)) break;
|
||||||
pScreen = xf86Screens[i]->pScreen;
|
pScreen = xf86Screens[i]->pScreen;
|
||||||
dixScreenOrigins[i].x =
|
dixScreenOrigins[i].x =
|
||||||
|
@ -629,6 +657,10 @@ xf86InitOrigins(void)
|
||||||
break;
|
break;
|
||||||
case PosBelow:
|
case PosBelow:
|
||||||
ref = screen->refscreen->screennum;
|
ref = screen->refscreen->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
if(screensLeft & (1 << ref)) break;
|
if(screensLeft & (1 << ref)) break;
|
||||||
pScreen = xf86Screens[ref]->pScreen;
|
pScreen = xf86Screens[ref]->pScreen;
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
||||||
|
@ -638,6 +670,10 @@ xf86InitOrigins(void)
|
||||||
break;
|
break;
|
||||||
case PosAbove:
|
case PosAbove:
|
||||||
ref = screen->refscreen->screennum;
|
ref = screen->refscreen->screennum;
|
||||||
|
if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
|
||||||
|
ErrorF("Referenced uninitialized screen in Layout!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
if(screensLeft & (1 << ref)) break;
|
if(screensLeft & (1 << ref)) break;
|
||||||
pScreen = xf86Screens[i]->pScreen;
|
pScreen = xf86Screens[i]->pScreen;
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
||||||
|
|
|
@ -304,7 +304,6 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
||||||
winScreenInfo *s_pScreenInfo = NULL;
|
winScreenInfo *s_pScreenInfo = NULL;
|
||||||
HWND hwndScreen = NULL;
|
HWND hwndScreen = NULL;
|
||||||
DrawablePtr pDraw = NULL;
|
DrawablePtr pDraw = NULL;
|
||||||
int iX, iY, iWidth, iHeight, iBorder;
|
|
||||||
winWMMessageRec wmMsg;
|
winWMMessageRec wmMsg;
|
||||||
Bool fWMMsgInitialized = FALSE;
|
Bool fWMMsgInitialized = FALSE;
|
||||||
static Bool s_fTracking = FALSE;
|
static Bool s_fTracking = FALSE;
|
||||||
|
@ -442,20 +441,19 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
||||||
|
|
||||||
/* BeginPaint gives us an hdc that clips to the invalidated region */
|
/* BeginPaint gives us an hdc that clips to the invalidated region */
|
||||||
hdcUpdate = BeginPaint (hwnd, &ps);
|
hdcUpdate = BeginPaint (hwnd, &ps);
|
||||||
|
/* Avoid the BitBlt's if the PAINTSTRUCT is bogus */
|
||||||
/* Get the position and dimensions of the window */
|
if (ps.rcPaint.right==0 && ps.rcPaint.bottom==0 && ps.rcPaint.left==0 && ps.rcPaint.top==0)
|
||||||
iBorder = wBorderWidth (pWin);
|
{
|
||||||
iX = pWin->drawable.x;
|
EndPaint (hwndScreen, &ps);
|
||||||
iY = pWin->drawable.y;
|
return 0;
|
||||||
iWidth = pWin->drawable.width;
|
}
|
||||||
iHeight = pWin->drawable.height;
|
|
||||||
|
|
||||||
/* Try to copy from the shadow buffer */
|
/* Try to copy from the shadow buffer */
|
||||||
if (!BitBlt (hdcUpdate,
|
if (!BitBlt (hdcUpdate,
|
||||||
0, 0,
|
ps.rcPaint.left, ps.rcPaint.top,
|
||||||
iWidth, iHeight,
|
ps.rcPaint.right - ps.rcPaint.left, ps.rcPaint.bottom - ps.rcPaint.top,
|
||||||
s_pScreenPriv->hdcShadow,
|
s_pScreenPriv->hdcShadow,
|
||||||
iX, iY,
|
ps.rcPaint.left + pWin->drawable.x, ps.rcPaint.top + pWin->drawable.y,
|
||||||
SRCCOPY))
|
SRCCOPY))
|
||||||
{
|
{
|
||||||
LPVOID lpMsgBuf;
|
LPVOID lpMsgBuf;
|
||||||
|
|
|
@ -540,8 +540,9 @@ winShadowUpdateGDI (ScreenPtr pScreen,
|
||||||
* handle large regions by creating a clipping region and
|
* handle large regions by creating a clipping region and
|
||||||
* doing a single blit constrained to that clipping region.
|
* doing a single blit constrained to that clipping region.
|
||||||
*/
|
*/
|
||||||
if (pScreenInfo->dwClipUpdatesNBoxes == 0
|
if (!pScreenInfo->fMultiWindow &&
|
||||||
|| dwBox < pScreenInfo->dwClipUpdatesNBoxes)
|
(pScreenInfo->dwClipUpdatesNBoxes == 0 ||
|
||||||
|
dwBox < pScreenInfo->dwClipUpdatesNBoxes))
|
||||||
{
|
{
|
||||||
/* Loop through all boxes in the damaged region */
|
/* Loop through all boxes in the damaged region */
|
||||||
while (dwBox--)
|
while (dwBox--)
|
||||||
|
@ -566,7 +567,7 @@ winShadowUpdateGDI (ScreenPtr pScreen,
|
||||||
++pBox;
|
++pBox;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (!pScreenInfo->fMultiWindow)
|
||||||
{
|
{
|
||||||
/* Compute a GDI region from the damaged region */
|
/* Compute a GDI region from the damaged region */
|
||||||
hrgnCombined = CreateRectRgn (pBox->x1, pBox->y1, pBox->x2, pBox->y2);
|
hrgnCombined = CreateRectRgn (pBox->x1, pBox->y1, pBox->x2, pBox->y2);
|
||||||
|
|
Loading…
Reference in New Issue