Unverified Commit 92f41213 authored by Mike Gabriel's avatar Mike Gabriel

Merge branch 'uli42-pr/fix_broken_cursor_handling' into 3.6.x

parents 126cbe1f a736122f
...@@ -245,6 +245,8 @@ static WindowPtr XYToWindow( ...@@ -245,6 +245,8 @@ static WindowPtr XYToWindow(
int y int y
); );
static Bool CheckMotion(xEvent *xE);
extern int lastEvent; extern int lastEvent;
static Mask lastEventMask; static Mask lastEventMask;
...@@ -1951,6 +1953,7 @@ XYToWindow(int x, int y) ...@@ -1951,6 +1953,7 @@ XYToWindow(int x, int y)
} }
#endif /* NXAGENT_SERVER */ #endif /* NXAGENT_SERVER */
#ifndef NXAGENT_SERVER
static Bool static Bool
CheckMotion(xEvent *xE) CheckMotion(xEvent *xE)
{ {
...@@ -2015,6 +2018,7 @@ CheckMotion(xEvent *xE) ...@@ -2015,6 +2018,7 @@ CheckMotion(xEvent *xE)
} }
return TRUE; return TRUE;
} }
#endif /* NXAGENT_SERVER */
void void
WindowsRestructured() WindowsRestructured()
......
...@@ -381,79 +381,88 @@ XYToWindow(int x, int y) ...@@ -381,79 +381,88 @@ XYToWindow(int x, int y)
return spriteTrace[spriteTraceGood-1]; return spriteTrace[spriteTraceGood-1];
} }
// static Bool static Bool
// CheckMotion(xEvent *xE) CheckMotion(xEvent *xE)
// { {
// WindowPtr prevSpriteWin = sprite.win; WindowPtr prevSpriteWin = sprite.win;
//
#ifdef PANORAMIX #ifdef PANORAMIX
// if(!noPanoramiXExtension) if(!noPanoramiXExtension)
// return XineramaCheckMotion(xE); return XineramaCheckMotion(xE);
#endif #endif
// if (xE && !syncEvents.playingEvents) if (xE && !syncEvents.playingEvents)
// { {
// if (sprite.hot.pScreen != sprite.hotPhys.pScreen) if (sprite.hot.pScreen != sprite.hotPhys.pScreen)
// { {
// sprite.hot.pScreen = sprite.hotPhys.pScreen; sprite.hot.pScreen = sprite.hotPhys.pScreen;
// ROOT = sprite.hot.pScreen->root; ROOT = sprite.hot.pScreen->root;
// } }
// sprite.hot.x = XE_KBPTR.rootX; sprite.hot.x = XE_KBPTR.rootX;
// sprite.hot.y = XE_KBPTR.rootY; sprite.hot.y = XE_KBPTR.rootY;
// if (sprite.hot.x < sprite.physLimits.x1) if (sprite.hot.x < sprite.physLimits.x1)
// sprite.hot.x = sprite.physLimits.x1; sprite.hot.x = sprite.physLimits.x1;
// else if (sprite.hot.x >= sprite.physLimits.x2) else if (sprite.hot.x >= sprite.physLimits.x2)
// sprite.hot.x = sprite.physLimits.x2 - 1; sprite.hot.x = sprite.physLimits.x2 - 1;
// if (sprite.hot.y < sprite.physLimits.y1) if (sprite.hot.y < sprite.physLimits.y1)
// sprite.hot.y = sprite.physLimits.y1; sprite.hot.y = sprite.physLimits.y1;
// else if (sprite.hot.y >= sprite.physLimits.y2) else if (sprite.hot.y >= sprite.physLimits.y2)
// sprite.hot.y = sprite.physLimits.y2 - 1; sprite.hot.y = sprite.physLimits.y2 - 1;
#ifdef SHAPE #ifdef SHAPE
// if (sprite.hotShape) if (sprite.hotShape)
// ConfineToShape(sprite.hotShape, &sprite.hot.x, &sprite.hot.y); ConfineToShape(sprite.hotShape, &sprite.hot.x, &sprite.hot.y);
#endif #endif
// sprite.hotPhys = sprite.hot; sprite.hotPhys = sprite.hot;
//
// /* #ifdef NXAGENT_SERVER
// * This code force cursor position to be inside the /*
// * root window of the agent. We can't view a reason * This code force cursor position to be inside the
// * to do this and it interacts in an undesirable way * root window of the agent. We can't view a reason
// * with toggling fullscreen. * to do this and it interacts in an undesirable way
// * * with toggling fullscreen.
// * if ((sprite.hotPhys.x != XE_KBPTR.rootX) || *
// * (sprite.hotPhys.y != XE_KBPTR.rootY)) * if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
// * { * (sprite.hotPhys.y != XE_KBPTR.rootY))
// * (*sprite.hotPhys.pScreen->SetCursorPosition)( * {
// * sprite.hotPhys.pScreen, * (*sprite.hotPhys.pScreen->SetCursorPosition)(
// * sprite.hotPhys.x, sprite.hotPhys.y, FALSE); * sprite.hotPhys.pScreen,
// * } * sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
// */ * }
// */
// XE_KBPTR.rootX = sprite.hot.x; #else
// XE_KBPTR.rootY = sprite.hot.y; if ((sprite.hotPhys.x != XE_KBPTR.rootX) ||
// } (sprite.hotPhys.y != XE_KBPTR.rootY))
// {
// sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y); (*sprite.hotPhys.pScreen->SetCursorPosition)(
sprite.hotPhys.pScreen,
sprite.hotPhys.x, sprite.hotPhys.y, FALSE);
}
#endif
XE_KBPTR.rootX = sprite.hot.x;
XE_KBPTR.rootY = sprite.hot.y;
}
sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y);
#ifdef notyet #ifdef notyet
// if (!(sprite.win->deliverableEvents & if (!(sprite.win->deliverableEvents &
// Motion_Filter(inputInfo.pointer->button)) Motion_Filter(inputInfo.pointer->button))
// !syncEvents.playingEvents) !syncEvents.playingEvents)
// { {
// /* XXX Do PointerNonInterestBox here */ /* XXX Do PointerNonInterestBox here */
// } }
#endif #endif
// if (sprite.win != prevSpriteWin) if (sprite.win != prevSpriteWin)
// { {
// if (prevSpriteWin != NullWindow) { if (prevSpriteWin != NullWindow) {
// if (!xE) if (!xE)
// UpdateCurrentTimeIf(); UpdateCurrentTimeIf();
// DoEnterLeaveEvents(prevSpriteWin, sprite.win, NotifyNormal); DoEnterLeaveEvents(prevSpriteWin, sprite.win, NotifyNormal);
// } }
// PostNewCursor(); PostNewCursor();
// return FALSE; return FALSE;
// } }
// return TRUE; return TRUE;
// } }
void void
DefineInitialRootWindow(register WindowPtr win) DefineInitialRootWindow(register WindowPtr win)
......
...@@ -424,8 +424,6 @@ ReadRequestFromClient(ClientPtr client) ...@@ -424,8 +424,6 @@ ReadRequestFromClient(ClientPtr client)
if (oci->ignoreBytes > 0) { if (oci->ignoreBytes > 0) {
assert(needed == oci->ignoreBytes || needed == oci->size); assert(needed == oci->ignoreBytes || needed == oci->size);
oci->ignoreBytes -= gotnow;
needed = gotnow = 0;
/* /*
* The _XSERVTransRead call above may return more or fewer bytes than we * The _XSERVTransRead call above may return more or fewer bytes than we
* want to ignore. Ignore the smaller of the two sizes. * want to ignore. Ignore the smaller of the two sizes.
......
...@@ -589,7 +589,8 @@ miGlyphs(CARD8 op, ...@@ -589,7 +589,8 @@ miGlyphs(CARD8 op,
height = extents.y2 - extents.y1; height = extents.y2 - extents.y1;
pMaskPixmap = pMaskPixmap =
(*pScreen->CreatePixmap) (pScreen, width, height, (*pScreen->CreatePixmap) (pScreen, width, height,
maskFormat->depth); maskFormat->depth,
CREATE_PIXMAP_USAGE_SCRATCH);
if (!pMaskPixmap) if (!pMaskPixmap)
return; return;
component_alpha = NeedsComponent(maskFormat->format); component_alpha = NeedsComponent(maskFormat->format);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment