Commit 9358eaed authored by Ulrich Sibiller's avatar Ulrich Sibiller

Events.c: Scope improvements/code simplification

parent ad89c705
...@@ -495,7 +495,6 @@ void nxagentRemoteWindowsTree(Window window, int level) ...@@ -495,7 +495,6 @@ void nxagentRemoteWindowsTree(Window window, int level)
void nxagentInternalWindowInfo(WindowPtr pWin, int indent, Bool newLine) void nxagentInternalWindowInfo(WindowPtr pWin, int indent, Bool newLine)
{ {
int result;
unsigned long ulReturnItems; unsigned long ulReturnItems;
unsigned long ulReturnBytesLeft; unsigned long ulReturnBytesLeft;
Atom atomReturnType; Atom atomReturnType;
...@@ -505,11 +504,11 @@ void nxagentInternalWindowInfo(WindowPtr pWin, int indent, Bool newLine) ...@@ -505,11 +504,11 @@ void nxagentInternalWindowInfo(WindowPtr pWin, int indent, Bool newLine)
fprintf(stderr, "Window ID=[0x%x] %s Remote ID=[0x%x] ", pWin -> drawable.id, fprintf(stderr, "Window ID=[0x%x] %s Remote ID=[0x%x] ", pWin -> drawable.id,
pWin->parent ? "" : "(the root window)", nxagentWindow(pWin)); pWin->parent ? "" : "(the root window)", nxagentWindow(pWin));
result = GetWindowProperty(pWin, MakeAtom("WM_NAME", 7, False) , 0, int result = GetWindowProperty(pWin, MakeAtom("WM_NAME", 7, False) , 0,
sizeof(CARD32), False, AnyPropertyType, sizeof(CARD32), False, AnyPropertyType,
&atomReturnType, &iReturnFormat, &atomReturnType, &iReturnFormat,
&ulReturnItems, &ulReturnBytesLeft, &ulReturnItems, &ulReturnBytesLeft,
&pszReturnData); &pszReturnData);
fprintf(stderr, "Name: "); fprintf(stderr, "Name: ");
...@@ -942,8 +941,6 @@ void nxagentDispatchEvents(PredicateFuncPtr predicate) ...@@ -942,8 +941,6 @@ void nxagentDispatchEvents(PredicateFuncPtr predicate)
{ {
enum HandleEventResult result; enum HandleEventResult result;
KeySym keysym;
#ifdef TEST #ifdef TEST
fprintf(stderr, "nxagentDispatchEvents: Going to handle new KeyPress event.\n"); fprintf(stderr, "nxagentDispatchEvents: Going to handle new KeyPress event.\n");
#endif #endif
...@@ -1093,7 +1090,7 @@ void nxagentDispatchEvents(PredicateFuncPtr predicate) ...@@ -1093,7 +1090,7 @@ void nxagentDispatchEvents(PredicateFuncPtr predicate)
* timestamps in the events show an exces- sive delay. * timestamps in the events show an exces- sive delay.
*/ */
keysym = XKeycodeToKeysym(nxagentDisplay, X.xkey.keycode, 0); KeySym keysym = XKeycodeToKeysym(nxagentDisplay, X.xkey.keycode, 0);
if (nxagentMonitoredDuplicate(keysym) == 1) if (nxagentMonitoredDuplicate(keysym) == 1)
{ {
...@@ -1664,14 +1661,14 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -1664,14 +1661,14 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
{ {
WindowPtr pWin; WindowPtr pWin;
WindowPtr pTLWin = NULL;
#ifdef TEST #ifdef TEST
fprintf(stderr, "nxagentDispatchEvents: Going to handle new EnterNotify event.\n"); fprintf(stderr, "nxagentDispatchEvents: Going to handle new EnterNotify event.\n");
#endif #endif
if (nxagentOption(Rootless)) if (nxagentOption(Rootless))
{ {
WindowPtr pTLWin = NULL;
pWin = nxagentWindowPtr(X.xcrossing.window); pWin = nxagentWindowPtr(X.xcrossing.window);
if (pWin != NULL) if (pWin != NULL)
...@@ -1704,16 +1701,13 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -1704,16 +1701,13 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
* recommendations. * recommendations.
*/ */
XID values[4];
register XID *value = values;
Mask mask = 0;
ClientPtr pClient = wClient(pWin);
#ifdef TEST #ifdef TEST
fprintf(stderr, "nxagentDispatchEvents: pWin -> drawable.x [%d] pWin -> drawable.y [%d].\n", fprintf(stderr, "nxagentDispatchEvents: pWin -> drawable.x [%d] pWin -> drawable.y [%d].\n",
pWin -> drawable.x, pWin -> drawable.y); pWin -> drawable.x, pWin -> drawable.y);
#endif #endif
XID values[4];
register XID *value = values;
*value++ = (XID) (X.xcrossing.x_root - X.xcrossing.x - pWin -> borderWidth); *value++ = (XID) (X.xcrossing.x_root - X.xcrossing.x - pWin -> borderWidth);
*value++ = (XID) (X.xcrossing.y_root - X.xcrossing.y - pWin -> borderWidth); *value++ = (XID) (X.xcrossing.y_root - X.xcrossing.y - pWin -> borderWidth);
...@@ -1722,11 +1716,11 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -1722,11 +1716,11 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
* nxagentWindowPriv(pWin)->y = (X.xcrossing.y_root - X.xcrossing.y); * nxagentWindowPriv(pWin)->y = (X.xcrossing.y_root - X.xcrossing.y);
*/ */
mask = CWX | CWY; Mask mask = CWX | CWY;
nxagentScreenTrap = 1; nxagentScreenTrap = 1;
ConfigureWindow(pWin, mask, (XID *) values, pClient); ConfigureWindow(pWin, mask, (XID *) values, wClient(pWin));
nxagentScreenTrap = 0; nxagentScreenTrap = 0;
} }
...@@ -1930,16 +1924,6 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -1930,16 +1924,6 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
} }
case CirculateNotify: case CirculateNotify:
{ {
/*
* WindowPtr pWin;
* WindowPtr pSib;
* ClientPtr pClient;
* XID values[2];
* register XID *value = values;
* Mask mask = 0;
*/
#ifdef WARNING #ifdef WARNING
fprintf(stderr, "nxagentDispatchEvents: Going to handle new CirculateNotify event.\n"); fprintf(stderr, "nxagentDispatchEvents: Going to handle new CirculateNotify event.\n");
#endif #endif
...@@ -1947,7 +1931,7 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -1947,7 +1931,7 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
/* /*
* FIXME: Do we need this? * FIXME: Do we need this?
* *
* pWin = nxagentWindowPtr(X.xcirculate.window); * WindowPtr pWin = nxagentWindowPtr(X.xcirculate.window);
* *
* if (!pWin) * if (!pWin)
* { * {
...@@ -2062,11 +2046,9 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -2062,11 +2046,9 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
((pWin = nxagentWindowPtr(X.xmap.window)) != NULL && ((pWin = nxagentWindowPtr(X.xmap.window)) != NULL &&
nxagentWindowTopLevel(pWin) == 1)) nxagentWindowTopLevel(pWin) == 1))
{ {
ClientPtr pClient = wClient(pWin);
nxagentScreenTrap = 1; nxagentScreenTrap = 1;
MapWindow(pWin, pClient); MapWindow(pWin, wClient(pWin));
nxagentScreenTrap = 0; nxagentScreenTrap = 0;
} }
...@@ -2119,7 +2101,7 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already ...@@ -2119,7 +2101,7 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
if (mappingEvent -> request == MappingPointer) if (mappingEvent -> request == MappingPointer)
{ {
nxagentInitPointerMap(); nxagentInitPointerMap();
} }
break; break;
...@@ -2384,15 +2366,6 @@ int nxagentHandlePropertyNotify(XEvent *X) ...@@ -2384,15 +2366,6 @@ int nxagentHandlePropertyNotify(XEvent *X)
int nxagentHandleExposeEvent(XEvent *X) int nxagentHandleExposeEvent(XEvent *X)
{ {
WindowPtr pWin = NULL;
Window window = None;
RegionRec sum;
RegionRec add;
BoxRec box;
int index = 0;
int overlap = 0;
StaticResizedWindowStruct *resizedWinPtr = NULL; StaticResizedWindowStruct *resizedWinPtr = NULL;
#ifdef DEBUG #ifdef DEBUG
...@@ -2402,12 +2375,16 @@ int nxagentHandleExposeEvent(XEvent *X) ...@@ -2402,12 +2375,16 @@ int nxagentHandleExposeEvent(XEvent *X)
X -> xexpose.window); X -> xexpose.window);
#endif #endif
window = X -> xexpose.window; Window window = X -> xexpose.window;
pWin = nxagentWindowPtr(window); WindowPtr pWin = nxagentWindowPtr(window);
if (pWin != NULL) if (pWin != NULL)
{ {
RegionRec sum;
RegionRec add;
BoxRec box;
RegionInit(&sum, (BoxRec *) NULL, 1); RegionInit(&sum, (BoxRec *) NULL, 1);
/* /*
FIXME: This can be maybe optimized by consuming the FIXME: This can be maybe optimized by consuming the
...@@ -2453,6 +2430,7 @@ FIXME: This can be maybe optimized by consuming the ...@@ -2453,6 +2430,7 @@ FIXME: This can be maybe optimized by consuming the
while (nxagentCheckEvents(nxagentDisplay, X, nxagentExposurePredicate, while (nxagentCheckEvents(nxagentDisplay, X, nxagentExposurePredicate,
(XPointer) &window) == 1); (XPointer) &window) == 1);
int overlap = 0;
RegionValidate(&sum, &overlap); RegionValidate(&sum, &overlap);
RegionIntersect(&sum, &sum, RegionIntersect(&sum, &sum,
...@@ -2468,7 +2446,7 @@ FIXME: This can be maybe optimized by consuming the ...@@ -2468,7 +2446,7 @@ FIXME: This can be maybe optimized by consuming the
* save received exposes for later processing. * save received exposes for later processing.
*/ */
index = nxagentLookupByWindow(pWin); int index = nxagentLookupByWindow(pWin);
if (index == -1) if (index == -1)
{ {
...@@ -2515,14 +2493,11 @@ int nxagentHandleGraphicsExposeEvent(XEvent *X) ...@@ -2515,14 +2493,11 @@ int nxagentHandleGraphicsExposeEvent(XEvent *X)
* saved window, else do nothing. * saved window, else do nothing.
*/ */
RegionPtr exposeRegion;
BoxRec rect;
WindowPtr pWin;
StoringPixmapPtr pStoringPixmapRec = NULL; StoringPixmapPtr pStoringPixmapRec = NULL;
miBSWindowPtr pBSwindow = NULL; miBSWindowPtr pBSwindow = NULL;
int drawableType; int drawableType;
pWin = nxagentWindowPtr(X -> xgraphicsexpose.drawable); WindowPtr pWin = nxagentWindowPtr(X -> xgraphicsexpose.drawable);
if (pWin != NULL) if (pWin != NULL)
{ {
...@@ -2569,7 +2544,7 @@ int nxagentHandleGraphicsExposeEvent(XEvent *X) ...@@ -2569,7 +2544,7 @@ int nxagentHandleGraphicsExposeEvent(XEvent *X)
rect.x2 = rect.x1 + X -> xgraphicsexpose.width; rect.x2 = rect.x1 + X -> xgraphicsexpose.width;
rect.y2 = rect.y1 + X -> xgraphicsexpose.height; rect.y2 = rect.y1 + X -> xgraphicsexpose.height;
exposeRegion = RegionCreate(&rect, 0); RegionPtr exposeRegion = RegionCreate(&rect, 0);
if (drawableType == DRAWABLE_PIXMAP) if (drawableType == DRAWABLE_PIXMAP)
{ {
...@@ -2705,11 +2680,8 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result) ...@@ -2705,11 +2680,8 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result)
if (X -> xclient.message_type == nxagentAtoms[1]) /* WM_PROTOCOLS */ if (X -> xclient.message_type == nxagentAtoms[1]) /* WM_PROTOCOLS */
{ {
Atom deleteWMatom, wmAtom; Atom wmAtom = (Atom) X -> xclient.data.l[0];
Atom deleteWMatom = nxagentAtoms[2]; /* WM_DELETE_WINDOW */
wmAtom = (Atom) X -> xclient.data.l[0];
deleteWMatom = nxagentAtoms[2]; /* WM_DELETE_WINDOW */
if (wmAtom == deleteWMatom) if (wmAtom == deleteWMatom)
{ {
...@@ -2853,8 +2825,6 @@ int nxagentHandleXkbKeyboardStateEvent(XEvent *X) ...@@ -2853,8 +2825,6 @@ int nxagentHandleXkbKeyboardStateEvent(XEvent *X)
int nxagentHandleXFixesSelectionNotify(XEvent *X) int nxagentHandleXFixesSelectionNotify(XEvent *X)
{ {
Atom local;
XFixesSelectionEvent *xfixesEvent = (XFixesSelectionEvent *) X; XFixesSelectionEvent *xfixesEvent = (XFixesSelectionEvent *) X;
if (nxagentXFixesInfo.Initialized == 0) if (nxagentXFixesInfo.Initialized == 0)
...@@ -2877,14 +2847,14 @@ int nxagentHandleXFixesSelectionNotify(XEvent *X) ...@@ -2877,14 +2847,14 @@ int nxagentHandleXFixesSelectionNotify(XEvent *X)
fprintf(stderr, "nxagentHandleXFixesSelectionNotify: Handling event.\n"); fprintf(stderr, "nxagentHandleXFixesSelectionNotify: Handling event.\n");
#endif #endif
local = nxagentRemoteToLocalAtom(xfixesEvent -> xfixesselection.selection); Atom local = nxagentRemoteToLocalAtom(xfixesEvent -> xfixesselection.selection);
if (SelectionCallback) if (SelectionCallback)
{ {
int i = nxagentFindCurrentSelectionIndex(local); int i = nxagentFindCurrentSelectionIndex(local);
if (i < NumCurrentSelections) if (i < NumCurrentSelections)
{ {
SelectionInfoRec info; SelectionInfoRec info;
if (CurrentSelections[i].client != 0) if (CurrentSelections[i].client != 0)
{ {
...@@ -3173,12 +3143,9 @@ int nxagentHandleConfigureNotify(XEvent* X) ...@@ -3173,12 +3143,9 @@ int nxagentHandleConfigureNotify(XEvent* X)
{ {
if (nxagentOption(Rootless) == True) if (nxagentOption(Rootless) == True)
{ {
ClientPtr pClient;
WindowPtr pWinWindow;
WindowPtr pWin;
int sendEventAnyway = 0; int sendEventAnyway = 0;
pWinWindow = nxagentWindowPtr(X -> xconfigure.window); WindowPtr pWinWindow = nxagentWindowPtr(X -> xconfigure.window);
#ifdef TEST #ifdef TEST
{ {
...@@ -3196,7 +3163,8 @@ int nxagentHandleConfigureNotify(XEvent* X) ...@@ -3196,7 +3163,8 @@ int nxagentHandleConfigureNotify(XEvent* X)
X -> xconfigure.height, X -> xconfigure.send_event); X -> xconfigure.height, X -> xconfigure.send_event);
#endif #endif
if ((pWin = nxagentRootlessTopLevelWindow(X -> xconfigure.window)) != NULL) WindowPtr pWin = nxagentRootlessTopLevelWindow(X -> xconfigure.window);
if (pWin != NULL)
{ {
/* /*
* Checking for new geometry or stacking order changes. * Checking for new geometry or stacking order changes.
...@@ -3210,11 +3178,9 @@ int nxagentHandleConfigureNotify(XEvent* X) ...@@ -3210,11 +3178,9 @@ int nxagentHandleConfigureNotify(XEvent* X)
if (nxagentWindowTopLevel(pWinWindow) && !X -> xconfigure.override_redirect) if (nxagentWindowTopLevel(pWinWindow) && !X -> xconfigure.override_redirect)
{ {
XID values[5]; XID values[5];
Mask mask = 0;
register XID *value = values; register XID *value = values;
pClient = wClient(pWinWindow); Mask mask = CWHeight | CWWidth | CWBorderWidth;
/* FIXME: override_redirect is always FALSE here */ /* FIXME: override_redirect is always FALSE here */
if (X -> xconfigure.send_event || !nxagentWMIsRunning || if (X -> xconfigure.send_event || !nxagentWMIsRunning ||
...@@ -3242,11 +3208,9 @@ int nxagentHandleConfigureNotify(XEvent* X) ...@@ -3242,11 +3208,9 @@ int nxagentHandleConfigureNotify(XEvent* X)
* nxagentWindowPriv(pWinWindow)->height = X -> xconfigure.height; * nxagentWindowPriv(pWinWindow)->height = X -> xconfigure.height;
*/ */
mask |= CWHeight | CWWidth | CWBorderWidth;
nxagentScreenTrap = 1; nxagentScreenTrap = 1;
ConfigureWindow(pWinWindow, mask, (XID *) values, pClient); ConfigureWindow(pWinWindow, mask, (XID *) values, wClient(pWinWindow));
nxagentScreenTrap = 0; nxagentScreenTrap = 0;
...@@ -3271,8 +3235,7 @@ int nxagentHandleConfigureNotify(XEvent* X) ...@@ -3271,8 +3235,7 @@ int nxagentHandleConfigureNotify(XEvent* X)
xEvent x; xEvent x;
memset(&x, 0, sizeof(xEvent)); memset(&x, 0, sizeof(xEvent));
x.u.u.type = X -> xconfigure.type; x.u.u.type = X -> xconfigure.type | 0x80;
x.u.u.type |= 0x80;
x.u.configureNotify.event = pWinWindow -> drawable.id; x.u.configureNotify.event = pWinWindow -> drawable.id;
x.u.configureNotify.window = pWinWindow -> drawable.id; x.u.configureNotify.window = pWinWindow -> drawable.id;
...@@ -3293,7 +3256,7 @@ int nxagentHandleConfigureNotify(XEvent* X) ...@@ -3293,7 +3256,7 @@ int nxagentHandleConfigureNotify(XEvent* X)
x.u.configureNotify.borderWidth = X -> xconfigure.border_width; x.u.configureNotify.borderWidth = X -> xconfigure.border_width;
x.u.configureNotify.override = X -> xconfigure.override_redirect; x.u.configureNotify.override = X -> xconfigure.override_redirect;
TryClientEvents(pClient, &x, 1, 1, 1, 0); TryClientEvents(wClient(pWinWindow), &x, 1, 1, 1, 0);
} }
return 1; return 1;
...@@ -3494,12 +3457,6 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3494,12 +3457,6 @@ int nxagentHandleReparentNotify(XEvent* X)
if (nxagentOption(Rootless)) if (nxagentOption(Rootless))
{ {
XlibWindow w;
XlibWindow root_return = 0;
XlibWindow parent_return = 0;
XlibWindow *children_return = NULL;
unsigned int nchildren_return = 0;
Status result;
WindowPtr pWin = nxagentWindowPtr(X -> xreparent.window); WindowPtr pWin = nxagentWindowPtr(X -> xreparent.window);
#ifdef TEST #ifdef TEST
...@@ -3522,8 +3479,13 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3522,8 +3479,13 @@ int nxagentHandleReparentNotify(XEvent* X)
* to know the new top level ancestor. * to know the new top level ancestor.
*/ */
w = None; XlibWindow w = None;
parent_return = X -> xreparent.parent; XlibWindow root_return = 0;
XlibWindow *children_return = NULL;
unsigned int nchildren_return = 0;
Status result;
XlibWindow parent_return = X -> xreparent.parent;
while (parent_return != RootWindow(nxagentDisplay, 0)) while (parent_return != RootWindow(nxagentDisplay, 0))
{ {
...@@ -3587,19 +3549,11 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3587,19 +3549,11 @@ int nxagentHandleReparentNotify(XEvent* X)
else if (nxagentWMIsRunning && nxagentOption(Fullscreen) == 0 && else if (nxagentWMIsRunning && nxagentOption(Fullscreen) == 0 &&
nxagentOption(WMBorderWidth) == -1) nxagentOption(WMBorderWidth) == -1)
{ {
XlibWindow w;
XlibWindow rootReturn = 0;
XlibWindow parentReturn = 0;
XlibWindow junk;
XlibWindow *childrenReturn = NULL;
unsigned int nchildrenReturn = 0;
XWindowAttributes attributes;
int x, y;
/* /*
* Calculate the absolute upper-left X e Y * Calculate the absolute upper-left X e Y
*/ */
XWindowAttributes attributes;
if ((XGetWindowAttributes(nxagentDisplay, X -> xreparent.window, if ((XGetWindowAttributes(nxagentDisplay, X -> xreparent.window,
&attributes) == 0)) &attributes) == 0))
{ {
...@@ -3611,9 +3565,10 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3611,9 +3565,10 @@ int nxagentHandleReparentNotify(XEvent* X)
return 1; return 1;
} }
x = attributes.x; int x = attributes.x;
y = attributes.y; int y = attributes.y;
XlibWindow junk;
XTranslateCoordinates(nxagentDisplay, X -> xreparent.window, XTranslateCoordinates(nxagentDisplay, X -> xreparent.window,
attributes.root, -attributes.border_width, attributes.root, -attributes.border_width,
-attributes.border_width, &x, &y, &junk); -attributes.border_width, &x, &y, &junk);
...@@ -3622,11 +3577,14 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3622,11 +3577,14 @@ int nxagentHandleReparentNotify(XEvent* X)
* Calculate the parent X and parent Y. * Calculate the parent X and parent Y.
*/ */
w = X -> xreparent.parent; XlibWindow w = X -> xreparent.parent;
if (w != DefaultRootWindow(nxagentDisplay)) if (w != DefaultRootWindow(nxagentDisplay))
{ {
int xParent, yParent; XlibWindow rootReturn = 0;
XlibWindow parentReturn = 0;
XlibWindow *childrenReturn = NULL;
unsigned int nchildrenReturn = 0;
do do
{ {
...@@ -3658,16 +3616,13 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3658,16 +3616,13 @@ int nxagentHandleReparentNotify(XEvent* X)
return 1; return 1;
} }
xParent = attributes.x;
yParent = attributes.y;
/* /*
* Difference between Absolute X and Parent X gives thickness of side frame. * Difference between Absolute X and Parent X gives thickness of side frame.
* Difference between Absolute Y and Parent Y gives thickness of title bar. * Difference between Absolute Y and Parent Y gives thickness of title bar.
*/ */
nxagentChangeOption(WMBorderWidth, (x - xParent)); nxagentChangeOption(WMBorderWidth, (x - attributes.x));
nxagentChangeOption(WMTitleHeight, (y - yParent)); nxagentChangeOption(WMTitleHeight, (y - attributes.y));
} }
} }
...@@ -3723,9 +3678,7 @@ void nxagentDisablePointerEvents(void) ...@@ -3723,9 +3678,7 @@ void nxagentDisablePointerEvents(void)
void nxagentSendFakeKey(int key) void nxagentSendFakeKey(int key)
{ {
xEvent fake; xEvent fake;
Time now; Time now = GetTimeInMillis();
now = GetTimeInMillis();
memset(&fake, 0, sizeof(xEvent)); memset(&fake, 0, sizeof(xEvent));
fake.u.u.type = KeyPress; fake.u.u.type = KeyPress;
...@@ -3745,8 +3698,6 @@ int nxagentInitXkbKeyboardState(void) ...@@ -3745,8 +3698,6 @@ int nxagentInitXkbKeyboardState(void)
{ {
XEvent X; XEvent X;
unsigned int modifiers;
XkbEvent *xkbev = (XkbEvent *) &X; XkbEvent *xkbev = (XkbEvent *) &X;
if (nxagentXkbInfo.EventBase == -1) if (nxagentXkbInfo.EventBase == -1)
...@@ -3760,6 +3711,7 @@ int nxagentInitXkbKeyboardState(void) ...@@ -3760,6 +3711,7 @@ int nxagentInitXkbKeyboardState(void)
memset(&X, 0, sizeof(XEvent)); memset(&X, 0, sizeof(XEvent));
unsigned int modifiers;
XkbGetIndicatorState(nxagentDisplay, XkbUseCoreKbd, &modifiers); XkbGetIndicatorState(nxagentDisplay, XkbUseCoreKbd, &modifiers);
xkbev -> state.locked_mods = 0x0; xkbev -> state.locked_mods = 0x0;
...@@ -3806,17 +3758,13 @@ int nxagentWaitForResource(GetResourceFuncPtr pGetResource, PredicateFuncPtr pPr ...@@ -3806,17 +3758,13 @@ int nxagentWaitForResource(GetResourceFuncPtr pGetResource, PredicateFuncPtr pPr
void nxagentGrabPointerAndKeyboard(XEvent *X) void nxagentGrabPointerAndKeyboard(XEvent *X)
{ {
unsigned long now;
int resource;
int result;
#ifdef TEST #ifdef TEST
fprintf(stderr, "nxagentGrabPointerAndKeyboard: Grabbing pointer and keyboard with event at [%p].\n", fprintf(stderr, "nxagentGrabPointerAndKeyboard: Grabbing pointer and keyboard with event at [%p].\n",
(void *) X); (void *) X);
#endif #endif
unsigned long now;
if (X != NULL) if (X != NULL)
{ {
now = X -> xcrossing.time; now = X -> xcrossing.time;
...@@ -3830,12 +3778,10 @@ void nxagentGrabPointerAndKeyboard(XEvent *X) ...@@ -3830,12 +3778,10 @@ void nxagentGrabPointerAndKeyboard(XEvent *X)
fprintf(stderr, "nxagentGrabPointerAndKeyboard: Going to grab the keyboard in context [B1].\n"); fprintf(stderr, "nxagentGrabPointerAndKeyboard: Going to grab the keyboard in context [B1].\n");
#endif #endif
if (nxagentFullscreenWindow) int result = XGrabKeyboard(nxagentDisplay,
result = XGrabKeyboard(nxagentDisplay, nxagentFullscreenWindow, nxagentFullscreenWindow ? nxagentFullscreenWindow
True, GrabModeAsync, GrabModeAsync, now); : RootWindow(nxagentDisplay, DefaultScreen(nxagentDisplay)),
else True, GrabModeAsync, GrabModeAsync, now);
result = XGrabKeyboard(nxagentDisplay, RootWindow(nxagentDisplay, DefaultScreen(nxagentDisplay)),
True, GrabModeAsync, GrabModeAsync, now);
if (result != GrabSuccess) if (result != GrabSuccess)
{ {
...@@ -3863,8 +3809,8 @@ void nxagentGrabPointerAndKeyboard(XEvent *X) ...@@ -3863,8 +3809,8 @@ void nxagentGrabPointerAndKeyboard(XEvent *X)
fprintf(stderr, "nxagentGrabPointerAndKeyboard: Going to grab the pointer in context [B2].\n"); fprintf(stderr, "nxagentGrabPointerAndKeyboard: Going to grab the pointer in context [B2].\n");
#endif #endif
resource = nxagentWaitForResource(NXGetCollectGrabPointerResource, int resource = nxagentWaitForResource(NXGetCollectGrabPointerResource,
nxagentCollectGrabPointerPredicate); nxagentCollectGrabPointerPredicate);
if (nxagentFullscreenWindow) if (nxagentFullscreenWindow)
NXCollectGrabPointer(nxagentDisplay, resource, NXCollectGrabPointer(nxagentDisplay, resource,
...@@ -3971,14 +3917,6 @@ void nxagentHandleCollectGrabPointerEvent(int resource) ...@@ -3971,14 +3917,6 @@ void nxagentHandleCollectGrabPointerEvent(int resource)
void nxagentHandleCollectPropertyEvent(XEvent *X) void nxagentHandleCollectPropertyEvent(XEvent *X)
{ {
Window window;
Atom property;
Atom atomReturnType;
int resultFormat;
unsigned long ulReturnItems;
unsigned long ulReturnBytesLeft;
unsigned char *pszReturnData = NULL;
int result;
int resource = X -> xclient.data.l[1]; int resource = X -> xclient.data.l[1];
if (X -> xclient.data.l[2] == False) if (X -> xclient.data.l[2] == False)
...@@ -3997,18 +3935,24 @@ void nxagentHandleCollectPropertyEvent(XEvent *X) ...@@ -3997,18 +3935,24 @@ void nxagentHandleCollectPropertyEvent(XEvent *X)
} }
else else
{ {
result = NXGetCollectedProperty(nxagentDisplay, Atom atomReturnType;
resource, int resultFormat;
&atomReturnType, unsigned long ulReturnItems;
&resultFormat, unsigned long ulReturnBytesLeft;
&ulReturnItems, unsigned char *pszReturnData = NULL;
&ulReturnBytesLeft,
&pszReturnData); int result = NXGetCollectedProperty(nxagentDisplay,
resource,
&atomReturnType,
&resultFormat,
&ulReturnItems,
&ulReturnBytesLeft,
&pszReturnData);
if (result == True) if (result == True)
{ {
window = nxagentPropertyRequests[resource].window; Window window = nxagentPropertyRequests[resource].window;
property = nxagentPropertyRequests[resource].property; Atom property = nxagentPropertyRequests[resource].property;
nxagentImportProperty(window, property, atomReturnType, resultFormat, nxagentImportProperty(window, property, atomReturnType, resultFormat,
ulReturnItems, ulReturnBytesLeft, pszReturnData); ulReturnItems, ulReturnBytesLeft, pszReturnData);
...@@ -4029,8 +3973,6 @@ void nxagentHandleCollectPropertyEvent(XEvent *X) ...@@ -4029,8 +3973,6 @@ void nxagentHandleCollectPropertyEvent(XEvent *X)
void nxagentSynchronizeExpose(void) void nxagentSynchronizeExpose(void)
{ {
WindowPtr pWin;
if (nxagentExposeQueue.length <= 0) if (nxagentExposeQueue.length <= 0)
{ {
#ifdef TEST #ifdef TEST
...@@ -4041,7 +3983,7 @@ void nxagentSynchronizeExpose(void) ...@@ -4041,7 +3983,7 @@ void nxagentSynchronizeExpose(void)
return; return;
} }
pWin = nxagentExposeQueueHead.pWindow; WindowPtr pWin = nxagentExposeQueueHead.pWindow;
if (pWin) if (pWin)
{ {
...@@ -4084,16 +4026,13 @@ void nxagentSynchronizeExpose(void) ...@@ -4084,16 +4026,13 @@ void nxagentSynchronizeExpose(void)
{ {
RegionDestroy(nxagentExposeQueueHead.localRegion); RegionDestroy(nxagentExposeQueueHead.localRegion);
} }
nxagentExposeQueueHead.localRegion = NullRegion; nxagentExposeQueueHead.localRegion = NullRegion;
if (nxagentExposeQueueHead.remoteRegion != NullRegion) if (nxagentExposeQueueHead.remoteRegion != NullRegion)
{ {
RegionDestroy(nxagentExposeQueueHead.remoteRegion); RegionDestroy(nxagentExposeQueueHead.remoteRegion);
} }
nxagentExposeQueueHead.remoteRegion = NullRegion; nxagentExposeQueueHead.remoteRegion = NullRegion;
nxagentExposeQueueHead.remoteRegionIsCompleted = False; nxagentExposeQueueHead.remoteRegionIsCompleted = False;
nxagentExposeQueue.start = (nxagentExposeQueue.start + 1) % EXPOSED_SIZE; nxagentExposeQueue.start = (nxagentExposeQueue.start + 1) % EXPOSED_SIZE;
...@@ -4238,13 +4177,12 @@ void nxagentForwardRemoteExpose(void) ...@@ -4238,13 +4177,12 @@ void nxagentForwardRemoteExpose(void)
void nxagentAddRectToRemoteExposeRegion(BoxPtr rect) void nxagentAddRectToRemoteExposeRegion(BoxPtr rect)
{ {
RegionRec exposeRegion;
if (nxagentRemoteExposeRegion == NULL) if (nxagentRemoteExposeRegion == NULL)
{ {
return; return;
} }
RegionRec exposeRegion;
RegionInit(&exposeRegion, rect, 1); RegionInit(&exposeRegion, rect, 1);
RegionUnion(nxagentRemoteExposeRegion, RegionUnion(nxagentRemoteExposeRegion,
...@@ -4562,14 +4500,12 @@ static const char *nxagentGrabStateToString(int state) ...@@ -4562,14 +4500,12 @@ static const char *nxagentGrabStateToString(int state)
void nxagentDumpInputDevicesState(void) void nxagentDumpInputDevicesState(void)
{ {
DeviceIntPtr dev;
GrabPtr grab;
WindowPtr pWin = NULL; WindowPtr pWin = NULL;
fprintf(stderr, "\n*** Dump input devices state: BEGIN ***" fprintf(stderr, "\n*** Dump input devices state: BEGIN ***"
"\nKeys down:"); "\nKeys down:");
dev = inputInfo.keyboard; DeviceIntPtr dev = inputInfo.keyboard;
for (int i = 0; i < DOWN_LENGTH; i++) for (int i = 0; i < DOWN_LENGTH; i++)
{ {
...@@ -4597,7 +4533,7 @@ void nxagentDumpInputDevicesState(void) ...@@ -4597,7 +4533,7 @@ void nxagentDumpInputDevicesState(void)
dev -> fromPassiveGrab ? "Yes" : "No", dev -> fromPassiveGrab ? "Yes" : "No",
dev -> activatingKey); dev -> activatingKey);
grab = dev -> grab; GrabPtr grab = dev -> grab;
if (grab) if (grab)
{ {
......
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