<div dir="ltr"><div><div><div><div><div><div><div><div><div>Greetings,<br><br></div>I am seeing a behavior difference between an older Xorg version and a newer one and I would like to understand if this may be an old bug or a new bug.  I realize both of these servers are unsupported but based on my perusal of the source code I would expect that the behavior of the current version of Xorg is the same as in 1.15.0.<br><br></div><div>Old server version: 7.1.1 (RHEL5)<br></div><div>New server version: 1.15.0 (RHEL7.1)<br><br></div><div>The window tree looks essentially like this on both servers:<br><br>  Root window id: 0x10d (the root window) (has no name)<br>  Parent window id: 0x0 (none)<br>     3 children:<br>     0x20000a "dpmxinput": ("dpmxinput" "TopLevelShell")  500x500+0+0  +0+0<br>        1 child:<br>        0x20000f (has no name): ()  500x500+0+0  +0+0<br>     0x200003 (has no name): ()  1x1+0+0  +0+0<br>     0x200002 "dpmxinput": ("dpmxinput" "dpmxinput")  1x1+0+0  +0+0<br></div><div></div><br></div>The sequence of calls to create the above window hierarchy is as follows:<br><br></div><div>Note, I'm trying to be terse here but all details and source code can be provided if necessary.<br><br>...<br></div>XtToolKitInitialize()<br></div><br>XtAppContext app_context = XtCreateApplicationContext()<br></div>Display *pD = XtOpenDisplay(app_context, ":0", NULL, "dpmxinput", ...)<br><br></div>Widget topLevel = XtVaAppCreateShell("dpmxinput", "dpmxinput", topLevelShellWidgetClass, ...)<br></div>XtRealizeWidget(topLevel)<br></div><div><br>Widget topForm = XtVaCreateWidget("topForm", xmFormWidgetClass, topLevel, NULL)<br></div><div>XtManageChild(topForm)<br><br></div><div>Window event_win = XtWindow(topLevel)<br></div><div><br>Note, event_win is id 0x20000a.<br><br></div><div>XSelectExtensionEvent(pD, event_win, ...)<br><br></div><div>Now an event loop runs checking for the extension events from the touchscreen.<br><br></div><div>The problem is that on the older Xorg version, touch events are propagated to the window with id 0x20000a, the "TopLevelShell".  However, on the newer Xorg version, these events do not make it to this window.  Instead they go to the window that was created with the Motif call to create a XmForm widget (0x20000f in this example).<br><br></div><div>If the  source code is changed so that the XmForm widget is not created at all then the events go to the TopLevelShell window (0x20000a) on both Xorg servers.<br><br></div><div>What *should* the behavior be here?<br></div><div><br></div><div>Note, I see that  changes in this area between these versions of  Xorg  code have to do with the implementation of the Xinput 2 extension.<br><br>Any help is greatly appreciated!  Thanks in advance and please let me know if more information is needed or you have any questions.<br><br></div><div>Jason<br></div></div>