Xnest: replace XSelectInput() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
415594fd67
commit
261d22a444
|
@ -49,7 +49,7 @@ Drawable xnestDefaultDrawables[MAXDEPTH + 1];
|
|||
Pixmap xnestIconBitmap;
|
||||
Pixmap xnestScreenSaverPixmap;
|
||||
uint32_t xnestBitmapGC;
|
||||
unsigned long xnestEventMask;
|
||||
uint32_t xnestEventMask;
|
||||
|
||||
static int _X_NORETURN
|
||||
x_io_error_handler(Display * dpy)
|
||||
|
|
|
@ -33,7 +33,7 @@ extern Drawable xnestDefaultDrawables[MAXDEPTH + 1];
|
|||
extern Pixmap xnestIconBitmap;
|
||||
extern Pixmap xnestScreenSaverPixmap;
|
||||
extern uint32_t xnestBitmapGC;
|
||||
extern unsigned long xnestEventMask;
|
||||
extern uint32_t xnestEventMask;
|
||||
|
||||
void xnestOpenDisplay(int argc, char *argv[]);
|
||||
void xnestCloseDisplay(void);
|
||||
|
|
|
@ -183,12 +183,18 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
|
|||
case DEVICE_ON:
|
||||
xnestEventMask |= XNEST_KEYBOARD_EVENT_MASK;
|
||||
for (i = 0; i < xnestNumScreens; i++)
|
||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
||||
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||
xnestDefaultWindows[i],
|
||||
XCB_CW_EVENT_MASK,
|
||||
&xnestEventMask);
|
||||
break;
|
||||
case DEVICE_OFF:
|
||||
xnestEventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
|
||||
for (i = 0; i < xnestNumScreens; i++)
|
||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
||||
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||
xnestDefaultWindows[i],
|
||||
XCB_CW_EVENT_MASK,
|
||||
&xnestEventMask);
|
||||
break;
|
||||
case DEVICE_CLOSE:
|
||||
break;
|
||||
|
|
|
@ -84,12 +84,18 @@ xnestPointerProc(DeviceIntPtr pDev, int onoff)
|
|||
case DEVICE_ON:
|
||||
xnestEventMask |= XNEST_POINTER_EVENT_MASK;
|
||||
for (i = 0; i < xnestNumScreens; i++)
|
||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
||||
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||
xnestDefaultWindows[i],
|
||||
XCB_CW_EVENT_MASK,
|
||||
&xnestEventMask);
|
||||
break;
|
||||
case DEVICE_OFF:
|
||||
xnestEventMask &= ~XNEST_POINTER_EVENT_MASK;
|
||||
for (i = 0; i < xnestNumScreens; i++)
|
||||
XSelectInput(xnestDisplay, xnestDefaultWindows[i], xnestEventMask);
|
||||
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||
xnestDefaultWindows[i],
|
||||
XCB_CW_EVENT_MASK,
|
||||
&xnestEventMask);
|
||||
break;
|
||||
case DEVICE_CLOSE:
|
||||
break;
|
||||
|
|
|
@ -379,8 +379,10 @@ xnestOpenScreen(ScreenPtr pScreen, int argc, char *argv[])
|
|||
|
||||
if (xnestParentWindow != 0) {
|
||||
xnestDefaultWindows[pScreen->myNum] = xnestParentWindow;
|
||||
XSelectInput(xnestDisplay, xnestDefaultWindows[pScreen->myNum],
|
||||
xnestEventMask);
|
||||
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||
xnestDefaultWindows[pScreen->myNum],
|
||||
XCB_CW_EVENT_MASK,
|
||||
&xnestEventMask);
|
||||
}
|
||||
else {
|
||||
xnestDefaultWindows[pScreen->myNum] = xcb_generate_id(xnestUpstreamInfo.conn);
|
||||
|
|
Loading…
Reference in New Issue