Pose3d and Vector3d widgets do not display on macOS #1668
Description
Environment
-
OS Version: macOS Monterey, Version 12.5, Xcode 13.4.1.
-
Source or binary build? build: source, branch:
gz-sim7
, commit: d90fab2. -
If this is a GUI or sensor rendering bug, describe your GPU and rendering system. Otherwise delete this section.
- Rendering plugin: [
ogre2
].- [ x ] running on real hardware.
- [ x ] GPU is concurrently used for other tasks.
- [ x ] desktop acceleration.
- Rendering system info:
- Rendering plugin: [
2022-08-13 15:45:06.469 system_profiler[80028:24179151] Device PreExisted [000000010000096a] AMD Radeon Pro W5700X
Graphics/Displays:
AMD Radeon Pro W5700X:
Chipset Model: AMD Radeon Pro W5700X
Type: GPU
Bus: PCIe
Slot: Slot-1
PCIe Lane Width: x16
VRAM (Total): 16 GB
Vendor: AMD (0x1002)
Device ID: 0x7310
Revision ID: 0x0000
ROM Revision: 113-D1860W-213
VBIOS Version: 113-D186A2XT-019
Option ROM Version: 113-D186A2XT-019
EFI Driver Version: 01.01.200
Metal Family: Supported, Metal GPUFamily macOS 2
Displays:
Cinema HD:
Display Type: LCD
Resolution: 2560 x 1600
UI Looks like: 2560 x 1600
Framebuffer Depth: 30-Bit Color (ARGB2101010)
Display Serial Number: CY628129UG1
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported
Automatically Adjust Brightness: Yes
Connection Type: DVI or HDMI
Adapter Firmware Version: 2.21
Description
The Pose3d and Vector3d widgets in the Component Inspector are not displaying correctly on macOS.
Expected behaviour
The pose and vector widgets should display correctly.
Actual behaviour
The pose and vector widgets are empty.
Steps to reproduce
Run the shapes.sdf
example on macOS:
#server
gz sim -s -r shapes.sdf
#client
gz sim -g
Output
Vector3d fails to display
Pose3d fails to display
Possible cause
The problem seems to be that Layout.fillWidth: true
is not sizing the widget correctly (at least on macOS).
gz-sim/src/gui/plugins/component_inspector/Vector3d.qml
Lines 96 to 100 in 25bdef6
A temporary workaround is to force the width of the widget to the parent less margin:
// Content
GzVector3 {
id: gzVectorInstance
width: parent.width - 2*margin
Layout.fillWidth: true
gzUnit: model && model.unit != undefined ? model.unit : 'm'
This patch is here: srmainwaring@b4de80f and provides a working solution for macOS, but may not be suitable for general use.
Vector3d after fix
Pose3d after fix
Metadata
Assignees
Type
Projects
Status
Done