(!1654) 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
5e7c5d7432
commit
65ce2b1c65
|
@ -51,7 +51,7 @@ Drawable xnestDefaultDrawables[MAXDEPTH + 1];
|
||||||
Pixmap xnestIconBitmap;
|
Pixmap xnestIconBitmap;
|
||||||
Pixmap xnestScreenSaverPixmap;
|
Pixmap xnestScreenSaverPixmap;
|
||||||
uint32_t xnestBitmapGC;
|
uint32_t xnestBitmapGC;
|
||||||
unsigned long xnestEventMask;
|
uint32_t xnestEventMask;
|
||||||
|
|
||||||
static int _X_NORETURN
|
static int _X_NORETURN
|
||||||
x_io_error_handler(Display * dpy)
|
x_io_error_handler(Display * dpy)
|
||||||
|
|
|
@ -33,7 +33,7 @@ extern Drawable xnestDefaultDrawables[MAXDEPTH + 1];
|
||||||
extern Pixmap xnestIconBitmap;
|
extern Pixmap xnestIconBitmap;
|
||||||
extern Pixmap xnestScreenSaverPixmap;
|
extern Pixmap xnestScreenSaverPixmap;
|
||||||
extern uint32_t xnestBitmapGC;
|
extern uint32_t xnestBitmapGC;
|
||||||
extern unsigned long xnestEventMask;
|
extern uint32_t xnestEventMask;
|
||||||
|
|
||||||
void xnestOpenDisplay(int argc, char *argv[]);
|
void xnestOpenDisplay(int argc, char *argv[]);
|
||||||
void xnestCloseDisplay(void);
|
void xnestCloseDisplay(void);
|
||||||
|
|
|
@ -201,12 +201,18 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
|
||||||
case DEVICE_ON:
|
case DEVICE_ON:
|
||||||
xnestEventMask |= XNEST_KEYBOARD_EVENT_MASK;
|
xnestEventMask |= XNEST_KEYBOARD_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
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;
|
break;
|
||||||
case DEVICE_OFF:
|
case DEVICE_OFF:
|
||||||
xnestEventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
|
xnestEventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
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;
|
break;
|
||||||
case DEVICE_CLOSE:
|
case DEVICE_CLOSE:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -87,12 +87,18 @@ xnestPointerProc(DeviceIntPtr pDev, int onoff)
|
||||||
case DEVICE_ON:
|
case DEVICE_ON:
|
||||||
xnestEventMask |= XNEST_POINTER_EVENT_MASK;
|
xnestEventMask |= XNEST_POINTER_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
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;
|
break;
|
||||||
case DEVICE_OFF:
|
case DEVICE_OFF:
|
||||||
xnestEventMask &= ~XNEST_POINTER_EVENT_MASK;
|
xnestEventMask &= ~XNEST_POINTER_EVENT_MASK;
|
||||||
for (i = 0; i < xnestNumScreens; i++)
|
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;
|
break;
|
||||||
case DEVICE_CLOSE:
|
case DEVICE_CLOSE:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -383,8 +383,10 @@ xnestOpenScreen(ScreenPtr pScreen, int argc, char *argv[])
|
||||||
|
|
||||||
if (xnestParentWindow != 0) {
|
if (xnestParentWindow != 0) {
|
||||||
xnestDefaultWindows[pScreen->myNum] = xnestParentWindow;
|
xnestDefaultWindows[pScreen->myNum] = xnestParentWindow;
|
||||||
XSelectInput(xnestDisplay, xnestDefaultWindows[pScreen->myNum],
|
xcb_change_window_attributes(xnestUpstreamInfo.conn,
|
||||||
xnestEventMask);
|
xnestDefaultWindows[pScreen->myNum],
|
||||||
|
XCB_CW_EVENT_MASK,
|
||||||
|
&xnestEventMask);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
xnestDefaultWindows[pScreen->myNum] = xcb_generate_id(xnestUpstreamInfo.conn);
|
xnestDefaultWindows[pScreen->myNum] = xcb_generate_id(xnestUpstreamInfo.conn);
|
||||||
|
|
Loading…
Reference in New Issue