Summary: | Channel configuration popup should not be system-modal | ||
---|---|---|---|
Product: | PulseView | Reporter: | whitequark <whitequark> |
Component: | UI | Assignee: | Nobody <nobody> |
Status: | CONFIRMED --- | ||
Severity: | major | CC: | soeren |
Priority: | Normal | ||
Version: | unreleased development snapshot | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All |
Description
whitequark
2018-07-23 02:49:29 CEST
I'm setting severity to "major" because this directly prevents me from submitting proper reports for pulseview bugs that result in hangs. Sounds like a window manager issue to me. PV doesn't (and as a matter of fact, can't) create system-modal windows. Sure it can. What it does is captures input system-wide, which, while technically does not make a system-modal window, has the same user-visible impact. The Qt function that does this is called QWidget::grabKeyboard()/QWidget::grabMouse(), I believe; not sure what it does on X11 level. The Qt documentation even has the following note: Warning: Bugs in mouse-grabbing applications very often lock the terminal. Use this function with extreme caution, and consider using the -nograb command line option while debugging. I haven't realized that there is a workaround (namely -nograb), which could be useful when capturing a backtrace (well, not if you have an intermittent bug without a good repro, but at least it's something). Interesting, I wasn't aware of those calls. However, PV doesn't use them. So either it's used implicitly through some Qt API or it's not used at all. I'm not saying that there is no issue for you, I'm just saying that I have no clue where to look and you're the first to perceive this behavior - meaning that I'm not sure PV is at fault here. Yes, I think this might be actually a Qt issue. I think it's caused by code in QQuickOverlay::handlePress; here, maybe: https://github.com/qt/qtquickcontrols2/blob/4e11d09fdef369af130c86a81df599ee3273ac7d/src/quicktemplates2/qquickoverlay.cpp#L134. It mentions "modal popups", is there any chance PV can tell Qt to make the popup non-modal? Otherwise you'd have to override this behavior manually. PV doesn't (yet) use QtQuick2, though, so the code you linked to doesn't apply. Again, PV doesn't knowingly use anything system-modal, so it's hard to say what's going on here. It certainly is possible that something within Qt is using/creating system-modal widgets but I don't know of any such thing at the moment. |