(!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
							
								
									df5c389d51
								
							
						
					
					
						commit
						27ff310dca
					
				| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -199,12 +199,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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,12 +85,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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -381,8 +381,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