Xnest: move xnestEventmask into struct xnest_upstream_info

This is per upstream connection state, so it's better of in the
upstream information struct.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult 2024-09-05 15:19:24 +02:00
parent b02a5ebc5e
commit 3802b10cdb
6 changed files with 13 additions and 14 deletions

View File

@ -41,7 +41,6 @@ int xnestNumPixmapFormats;
Drawable xnestDefaultDrawables[MAXDEPTH + 1];
Pixmap xnestIconBitmap;
Pixmap xnestScreenSaverPixmap;
uint32_t xnestEventMask;
void
xnestOpenDisplay(int argc, char *argv[])
@ -57,9 +56,9 @@ xnestOpenDisplay(int argc, char *argv[])
FatalError("Unable to open display \"%s\".\n", xnestDisplayName);
if (xnestParentWindow != (Window) 0)
xnestEventMask = XCB_EVENT_MASK_STRUCTURE_NOTIFY;
xnestUpstreamInfo.eventMask = XCB_EVENT_MASK_STRUCTURE_NOTIFY;
else
xnestEventMask = 0L;
xnestUpstreamInfo.eventMask = 0;
for (i = 0; i <= MAXDEPTH; i++)
xnestDefaultDrawables[i] = XCB_WINDOW_NONE;

View File

@ -26,7 +26,6 @@ extern int xnestNumPixmapFormats;
extern Drawable xnestDefaultDrawables[MAXDEPTH + 1];
extern Pixmap xnestIconBitmap;
extern Pixmap xnestScreenSaverPixmap;
extern uint32_t xnestEventMask;
void xnestOpenDisplay(int argc, char *argv[]);
void xnestCloseDisplay(void);

View File

@ -215,20 +215,20 @@ xnestKeyboardProc(DeviceIntPtr pDev, int onoff)
break;
}
case DEVICE_ON:
xnestEventMask |= XNEST_KEYBOARD_EVENT_MASK;
xnestUpstreamInfo.eventMask |= XNEST_KEYBOARD_EVENT_MASK;
for (i = 0; i < xnestNumScreens; i++)
xcb_change_window_attributes(xnestUpstreamInfo.conn,
xnest_screen_by_id(i)->upstream_frame_window,
XCB_CW_EVENT_MASK,
&xnestEventMask);
&xnestUpstreamInfo.eventMask);
break;
case DEVICE_OFF:
xnestEventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
xnestUpstreamInfo.eventMask &= ~XNEST_KEYBOARD_EVENT_MASK;
for (i = 0; i < xnestNumScreens; i++)
xcb_change_window_attributes(xnestUpstreamInfo.conn,
xnest_screen_by_id(i)->upstream_frame_window,
XCB_CW_EVENT_MASK,
&xnestEventMask);
&xnestUpstreamInfo.eventMask);
break;
case DEVICE_CLOSE:
break;

View File

@ -104,20 +104,20 @@ xnestPointerProc(DeviceIntPtr pDev, int onoff)
break;
}
case DEVICE_ON:
xnestEventMask |= XNEST_POINTER_EVENT_MASK;
xnestUpstreamInfo.eventMask |= XNEST_POINTER_EVENT_MASK;
for (i = 0; i < xnestNumScreens; i++)
xcb_change_window_attributes(xnestUpstreamInfo.conn,
xnest_screen_by_id(i)->upstream_frame_window,
XCB_CW_EVENT_MASK,
&xnestEventMask);
&xnestUpstreamInfo.eventMask);
break;
case DEVICE_OFF:
xnestEventMask &= ~XNEST_POINTER_EVENT_MASK;
xnestUpstreamInfo.eventMask &= ~XNEST_POINTER_EVENT_MASK;
for (i = 0; i < xnestNumScreens; i++)
xcb_change_window_attributes(xnestUpstreamInfo.conn,
xnest_screen_by_id(i)->upstream_frame_window,
XCB_CW_EVENT_MASK,
&xnestEventMask);
&xnestUpstreamInfo.eventMask);
break;
case DEVICE_CLOSE:
break;

View File

@ -410,7 +410,7 @@ breakout:
xcb_params_cw_t attributes = {
.back_pixel = xnestUpstreamInfo.screenInfo->white_pixel,
.event_mask = xnestEventMask,
.event_mask = xnestUpstreamInfo.eventMask,
.colormap = xnest_visual_to_upstream_cmap(pScreen->rootVisual),
};
@ -423,7 +423,7 @@ breakout:
xcb_change_window_attributes(xnestUpstreamInfo.conn,
screenPriv->upstream_frame_window,
XCB_CW_EVENT_MASK,
&xnestEventMask);
&xnestUpstreamInfo.eventMask);
}
else {
screenPriv->upstream_frame_window = xcb_generate_id(xnestUpstreamInfo.conn);

View File

@ -37,6 +37,7 @@ struct xnest_upstream_info {
const xcb_setup_t *setup;
struct xnest_event_queue eventQueue;
xcb_gc_t bitmapGC;
uint32_t eventMask;
};
extern struct xnest_screen_info xnestScreens[MAXSCREENS];