Clicks disappearing
-
Folks, this is one for the deep knowledge people.
We have a system of apps running with a custom window manager on RHEL.
The previous iteration, based on QT4 and running on RHEL 6.10 ran without problem.But now, on the RHEL 8.4 system using QT5.12.5 we are having issues with OnClick functions not being called when we clicked on buttons. It seems to happen most often (but not always) when going from one app to another app (they are sharing the screens).
To try and determine what is going on, I added a Native Event Filter to the app to track incoming XCB events, and also added signals/slots to track the pressed() and released() signals to try and determine where the issue was.
On a normal click, I see :
XCB_INPUT_BUTTON_PRESS event received
OnButtonPressed invoked
XCB_INPUT_BUTTON_RELEASE event received
OnButtonReleased invoked
OnButtonClicked invoked.But on the dropped clicks I see
XCB_INPUT_BUTTON_PRESS event received
OnButtonPressed invoked
OnButtonReleased invoked
XCB_INPUT_BUTTON_RELEASE event receivedThere are some other XCB Events between the PRESS event and the OnButtonPressed, but there is no pattern I can see between when it works normally and when it drops. On the drop click, there is never any XCB Events between the OnButtonPressed and OnButtonReleased invocations.
It looks like the event handle is processing the XCB_INPUT_BUTTON_PRESS event, invoking the OnButtonPressed, then immediately deciding something is wrong and does the OnButtonReleased without ever calling OnButtonClicked.
Does anyone have ideas on what conditions this might happen ?
Thanks,
Dale Pennington -
Folks, this is one for the deep knowledge people.
We have a system of apps running with a custom window manager on RHEL.
The previous iteration, based on QT4 and running on RHEL 6.10 ran without problem.But now, on the RHEL 8.4 system using QT5.12.5 we are having issues with OnClick functions not being called when we clicked on buttons. It seems to happen most often (but not always) when going from one app to another app (they are sharing the screens).
To try and determine what is going on, I added a Native Event Filter to the app to track incoming XCB events, and also added signals/slots to track the pressed() and released() signals to try and determine where the issue was.
On a normal click, I see :
XCB_INPUT_BUTTON_PRESS event received
OnButtonPressed invoked
XCB_INPUT_BUTTON_RELEASE event received
OnButtonReleased invoked
OnButtonClicked invoked.But on the dropped clicks I see
XCB_INPUT_BUTTON_PRESS event received
OnButtonPressed invoked
OnButtonReleased invoked
XCB_INPUT_BUTTON_RELEASE event receivedThere are some other XCB Events between the PRESS event and the OnButtonPressed, but there is no pattern I can see between when it works normally and when it drops. On the drop click, there is never any XCB Events between the OnButtonPressed and OnButtonReleased invocations.
It looks like the event handle is processing the XCB_INPUT_BUTTON_PRESS event, invoking the OnButtonPressed, then immediately deciding something is wrong and does the OnButtonReleased without ever calling OnButtonClicked.
Does anyone have ideas on what conditions this might happen ?
Thanks,
Dale PenningtonWhat exactly are "dropped clicks"?
Have you used the Search? I could swear I've seen a similar topic regarding the behavior on different RHEL and Qt versions some month ago.
-
What exactly are "dropped clicks"?
Have you used the Search? I could swear I've seen a similar topic regarding the behavior on different RHEL and Qt versions some month ago.
@Pl45m4
By dropped click, I mean I click on the button on the screen, but the OnClicked slot which is connected to the clicked signal of that button is not invoked.