Commit 129d1cc9 authored by Ulrich Sibiller's avatar Ulrich Sibiller Committed by Mike Gabriel

refactor nxagentGet(Default)EventMask

Fixes ArcticaProject/nx-libs#691.
parent c0bef5e3
...@@ -734,9 +734,9 @@ void nxagentInitDefaultEventMask(void) ...@@ -734,9 +734,9 @@ void nxagentInitDefaultEventMask(void)
defaultEventMask = mask; defaultEventMask = mask;
} }
void nxagentGetDefaultEventMask(Mask *mask_return) Mask nxagentGetDefaultEventMask(void)
{ {
*mask_return = defaultEventMask; return defaultEventMask;
} }
void nxagentSetDefaultEventMask(Mask mask) void nxagentSetDefaultEventMask(Mask mask)
...@@ -744,7 +744,7 @@ void nxagentSetDefaultEventMask(Mask mask) ...@@ -744,7 +744,7 @@ void nxagentSetDefaultEventMask(Mask mask)
defaultEventMask = mask; defaultEventMask = mask;
} }
void nxagentGetEventMask(WindowPtr pWin, Mask *mask_return) Mask nxagentGetEventMask(WindowPtr pWin)
{ {
Mask mask = NoEventMask; Mask mask = NoEventMask;
...@@ -774,7 +774,7 @@ void nxagentGetEventMask(WindowPtr pWin, Mask *mask_return) ...@@ -774,7 +774,7 @@ void nxagentGetEventMask(WindowPtr pWin, Mask *mask_return)
mask = ExposureMask | VisibilityChangeMask; mask = ExposureMask | VisibilityChangeMask;
} }
*mask_return = mask; return mask;
} }
static int nxagentChangeMapPrivate(WindowPtr pWin, void * ptr) static int nxagentChangeMapPrivate(WindowPtr pWin, void * ptr)
...@@ -3729,9 +3729,7 @@ int nxagentHandleReparentNotify(XEvent* X) ...@@ -3729,9 +3729,7 @@ int nxagentHandleReparentNotify(XEvent* X)
void nxagentEnableKeyboardEvents(void) void nxagentEnableKeyboardEvents(void)
{ {
int i; int i;
Mask mask; Mask mask = nxagentGetDefaultEventMask();
nxagentGetDefaultEventMask(&mask);
mask |= NXAGENT_KEYBOARD_EVENT_MASK; mask |= NXAGENT_KEYBOARD_EVENT_MASK;
...@@ -3750,9 +3748,7 @@ void nxagentEnableKeyboardEvents(void) ...@@ -3750,9 +3748,7 @@ void nxagentEnableKeyboardEvents(void)
void nxagentDisableKeyboardEvents(void) void nxagentDisableKeyboardEvents(void)
{ {
int i; int i;
Mask mask; Mask mask = nxagentGetDefaultEventMask();
nxagentGetDefaultEventMask(&mask);
mask &= ~NXAGENT_KEYBOARD_EVENT_MASK; mask &= ~NXAGENT_KEYBOARD_EVENT_MASK;
...@@ -3769,9 +3765,7 @@ void nxagentDisableKeyboardEvents(void) ...@@ -3769,9 +3765,7 @@ void nxagentDisableKeyboardEvents(void)
void nxagentEnablePointerEvents(void) void nxagentEnablePointerEvents(void)
{ {
int i; int i;
Mask mask; Mask mask = nxagentGetDefaultEventMask();
nxagentGetDefaultEventMask(&mask);
mask |= NXAGENT_POINTER_EVENT_MASK; mask |= NXAGENT_POINTER_EVENT_MASK;
...@@ -3786,9 +3780,7 @@ void nxagentEnablePointerEvents(void) ...@@ -3786,9 +3780,7 @@ void nxagentEnablePointerEvents(void)
void nxagentDisablePointerEvents(void) void nxagentDisablePointerEvents(void)
{ {
int i; int i;
Mask mask; Mask mask = nxagentGetDefaultEventMask();
nxagentGetDefaultEventMask(&mask);
mask &= ~NXAGENT_POINTER_EVENT_MASK; mask &= ~NXAGENT_POINTER_EVENT_MASK;
......
...@@ -88,9 +88,9 @@ extern void nxagentDisablePointerEvents(void); ...@@ -88,9 +88,9 @@ extern void nxagentDisablePointerEvents(void);
*/ */
extern void nxagentInitDefaultEventMask(void); extern void nxagentInitDefaultEventMask(void);
extern void nxagentGetDefaultEventMask(Mask *mask_return); extern Mask nxagentGetDefaultEventMask(void);
extern void nxagentSetDefaultEventMask(Mask mask); extern void nxagentSetDefaultEventMask(Mask mask);
extern void nxagentGetEventMask(WindowPtr pWin, Mask *mask_return); extern Mask nxagentGetEventMask(WindowPtr pWin);
/* /*
* Bring keyboard device in known state. It needs * Bring keyboard device in known state. It needs
......
...@@ -455,7 +455,7 @@ Window nxagentCreateIconWindow(void) ...@@ -455,7 +455,7 @@ Window nxagentCreateIconWindow(void)
* Enable events from the icon window. * Enable events from the icon window.
*/ */
nxagentGetDefaultEventMask(&mask); mask = nxagentGetDefaultEventMask();
XSelectInput(nxagentDisplay, w, (mask & ~(KeyPressMask | XSelectInput(nxagentDisplay, w, (mask & ~(KeyPressMask |
KeyReleaseMask)) | StructureNotifyMask); KeyReleaseMask)) | StructureNotifyMask);
...@@ -1705,12 +1705,7 @@ N/A ...@@ -1705,12 +1705,7 @@ N/A
(nxagentOption(AllScreens) == 1 ? CWOverrideRedirect : 0); (nxagentOption(AllScreens) == 1 ? CWOverrideRedirect : 0);
attributes.background_pixel = nxagentBlackPixel; attributes.background_pixel = nxagentBlackPixel;
attributes.event_mask = nxagentGetDefaultEventMask();
/* Assume that the mask fits in int... broken on Big Endian 64bit systems. */
Mask tmp_mask = attributes.event_mask;
nxagentGetDefaultEventMask(&tmp_mask);
attributes.event_mask = (int)tmp_mask;
attributes.colormap = nxagentDefaultVisualColormap(nxagentDefaultVisual(pScreen)); attributes.colormap = nxagentDefaultVisualColormap(nxagentDefaultVisual(pScreen));
if (nxagentOption(AllScreens) == 1) if (nxagentOption(AllScreens) == 1)
...@@ -1741,7 +1736,7 @@ N/A ...@@ -1741,7 +1736,7 @@ N/A
{ {
nxagentDefaultWindows[pScreen->myNum] = nxagentParentWindow; nxagentDefaultWindows[pScreen->myNum] = nxagentParentWindow;
nxagentGetDefaultEventMask(&mask); mask = nxagentGetDefaultEventMask();
XSelectInput(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum], mask); XSelectInput(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum], mask);
} }
...@@ -1870,7 +1865,7 @@ N/A ...@@ -1870,7 +1865,7 @@ N/A
strlen("X-AGENT")); strlen("X-AGENT"));
} }
nxagentGetDefaultEventMask(&mask); mask = nxagentGetDefaultEventMask();
XSelectInput(nxagentDisplay, nxagentFullscreenWindow, mask); XSelectInput(nxagentDisplay, nxagentFullscreenWindow, mask);
} }
...@@ -2940,7 +2935,7 @@ int nxagentShadowCreateMainWindow(ScreenPtr pScreen, WindowPtr pWin, int width, ...@@ -2940,7 +2935,7 @@ int nxagentShadowCreateMainWindow(ScreenPtr pScreen, WindowPtr pWin, int width,
mask = CWBackPixmap | CWEventMask | CWCursor; mask = CWBackPixmap | CWEventMask | CWCursor;
nxagentGetDefaultEventMask(&maskb); maskb = nxagentGetDefaultEventMask();
maskb |= ResizeRedirectMask | ExposureMask; maskb |= ResizeRedirectMask | ExposureMask;
vlist = values; vlist = values;
...@@ -3597,7 +3592,7 @@ Bool nxagentReconnectScreen(void *p0) ...@@ -3597,7 +3592,7 @@ Bool nxagentReconnectScreen(void *p0)
h, h,
1))); 1)));
nxagentGetDefaultEventMask(&mask); mask = nxagentGetDefaultEventMask();
mask |= NXAGENT_KEYBOARD_EVENT_MASK | NXAGENT_POINTER_EVENT_MASK; mask |= NXAGENT_KEYBOARD_EVENT_MASK | NXAGENT_POINTER_EVENT_MASK;
nxagentSetDefaultEventMask(mask); nxagentSetDefaultEventMask(mask);
XSelectInput(nxagentDisplay, nxagentDefaultWindows[0], mask); XSelectInput(nxagentDisplay, nxagentDefaultWindows[0], mask);
......
...@@ -345,10 +345,7 @@ FIXME: We need to set save under on the real display? ...@@ -345,10 +345,7 @@ FIXME: We need to set save under on the real display?
if (mask & CWEventMask) if (mask & CWEventMask)
{ {
/* Assume that the mask fits in int... broken on Big Endian 64bit systems. */ attributes.event_mask = nxagentGetEventMask(pWin);
Mask tmp_mask = attributes.event_mask;
nxagentGetEventMask(pWin, &tmp_mask);
attributes.event_mask = (int)tmp_mask;
} }
#ifdef WARNING #ifdef WARNING
else else
...@@ -2970,10 +2967,7 @@ FIXME: Do we need to set save unders attribute here? ...@@ -2970,10 +2967,7 @@ FIXME: Do we need to set save unders attribute here?
if (mask & CWEventMask) if (mask & CWEventMask)
{ {
/* Assume that the mask fits in int... broken on Big Endian 64bit systems. */ attributes.event_mask = nxagentGetEventMask(pWin);
Mask tmp_mask = attributes.event_mask;
nxagentGetEventMask(pWin, &tmp_mask);
attributes.event_mask = (int)tmp_mask;
} }
#ifdef WARNING #ifdef WARNING
else else
...@@ -3446,10 +3440,7 @@ void nxagentSetTopLevelEventMask(pWin) ...@@ -3446,10 +3440,7 @@ void nxagentSetTopLevelEventMask(pWin)
if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin)) if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
{ {
/* Assume that the mask fits in int... broken on Big Endian 64bit systems. */ attributes.event_mask = nxagentGetEventMask(pWin);
Mask tmp_mask = attributes.event_mask = NoEventMask;
nxagentGetEventMask(pWin, &tmp_mask);
attributes.event_mask = (int)tmp_mask;
XChangeWindowAttributes(nxagentDisplay, nxagentWindow(pWin), mask, &attributes); XChangeWindowAttributes(nxagentDisplay, nxagentWindow(pWin), mask, &attributes);
} }
......
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