-
Notifications
You must be signed in to change notification settings - Fork 63
Description
Environment
- OS Version: Ubuntu 20.04
- Source or binary build? binary ign-gui6 from osrfoundation.org
Description
I know it's a bit late for 20.04, but I still have a system with ESM updates that runs it and Fortress on it, too.
I figured that lately, GUI was half-broken. It's manifesting even in ign gazebo -v4 empty.sdf - you cannot click the play button because it is actually a pause button (even in paused state) and it never changes state (not even if I unpause the simulation via CLI).
I dug a lot around this and found out that the place where things fail is the Qt connection to the button - it never gets executed.
Bisecting, I've found that 174c4bf broke it. It replaces a deprecated syntax in QML with a newer form, but this newer syntax is not supported on Qt 5.12 which is on the 20.04. Unfortunately, Qt shows no errors whatsoever, so you're just staring and knowing something has to be wrong, but it gives you no clue (so very bad UX).
And it's not only about the play button. It's also image displays and many other things.
Locally, when I revert 174c4bf and rebuild, it works.
Unfortunately, it seems it's not possible to write the QMLs in a way that would be compatible with both versions and that would not trigger the warnings. Commit qt/qtdeclarative@a2eef6b added an option to Qt 5.15 that can silence the connection warnings, but it is a runtime option.
Now I've found out that in ign-gazeob6, there are lots of GUI plugins without this change. So it's not clear to me what would be the best way forward:
- Keep things as they are
- Upgrade the QML syntax in Gazebo plugins (probably the best way?)
- Revert 174c4bf and make Gz GUI working again even on the oldish Focal... (good for me, but maybe not for others :) ). Maybe the new option in Qt 5.15 could be somehow used to silence the warnings on Jammy.
I can keep a local build of GUI that has this revert, and I advice anyone else with this problem to do so until (if!) this problem is resolved.
EDIT Updated link in point 3.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status