Window title tooltips incorrectly rendered when window title no longer overflows
jivanpal opened this issue · comments
Describe the bug
A bug in feature #227. If a window's title overflows / renders ellipsis, hovering over the window title in the menu bar correctly renders a tooltip showing the full window title. However, if the window's title then changes so that it no longer overflows, hovering over the window title in the menu bar incorrectly renders a tooltip showing the old title that overflowed. (This issue occurs with all applications, not just Terminal as demonstrated below.)
Expected behavior
After the window title changes to something that doesn't overflow, no tooltip should be rendered on hover.
Screenshots / To reproduce
- Occurs on:
- X.Org
- Wayland
- GNOME Shell version: 42.5
- Distro: Pop!_OS 22.04
- Steps to reproduce, if applicable:
-
Open a Terminal window.
-
The window title doesn't overflow. Hover over the window title. No tooltip appears, as expected.
-
Make the window title overflow, e.g. by doing
cd /var/lib
. -
Hover over the window title. A tooltip appears, as expected.
-
Make the window title not overflow, e.g. by doing
cd
. -
Hover over the window title. The tooltip that appeared in (4) still appears, which shouldn't happen.
Current commit
Output of cat ~/.local/share/gnome-shell/extensions/material-shell@papyelgringo/metadata.json | jq -r .commit
:
db20eb5
Log data
Output from journalctl /usr/bin/gnome-shell
:
Apr 21 13:19:40 flute gnome-shell[1536]: Meta window: gnome-terminal-server-25957-154 title='Terminal' dialog=false
Apr 21 13:19:40 flute gnome-shell[1536]: Meta window: gnome-terminal-server-25957-153 title='jivan@flute: ~' dialog=false
Apr 21 13:19:40 flute gnome-shell[1536]: Creating a new MsWindow for gnome-terminal-server-25957-154
Apr 21 13:19:40 flute gnome-shell[1536]: Object .WorkspaceButtonIcon (0x558e7a809280), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Apr 21 13:19:40 flute gnome-shell[1536]: == Stack trace for context 0x558e73ef84b0 ==
Apr 21 13:19:40 flute gnome-shell[1536]: #0 7ffc12c8f2e0 b /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:4409 (ab3aff99880 @ 658)
Apr 21 13:19:40 flute gnome-shell[1536]: #1 558e7e1268a8 i /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:4336 (ab3aff996a0 @ 12)
Apr 21 13:19:40 flute gnome-shell[1536]: #2 7ffc12c90050 b resource:///org/gnome/gjs/modules/core/_signals.js:114 (25a1430d3920 @ 433)
Apr 21 13:19:40 flute gnome-shell[1536]: #3 558e7e126818 i /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:10371 (ab3affa65b0 @ 38)
Apr 21 13:19:59 flute gnome-shell[1536]: Object .WorkspaceButtonIcon (0x558e7a809280), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Apr 21 13:19:59 flute gnome-shell[1536]: == Stack trace for context 0x558e73ef84b0 ==
Apr 21 13:19:59 flute gnome-shell[1536]: #0 558e7e1269f8 i /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:4415 (ab3aff99a60 @ 88)
Apr 21 13:19:59 flute gnome-shell[1536]: #1 7ffc12c8f3f0 b self-hosted:202 (25a1430bed80 @ 272)
Apr 21 13:19:59 flute gnome-shell[1536]: #2 558e7e126928 i /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:4412 (ab3aff99880 @ 690)
Apr 21 13:19:59 flute gnome-shell[1536]: #3 558e7e1268a8 i /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:4336 (ab3aff996a0 @ 12)
Apr 21 13:19:59 flute gnome-shell[1536]: #4 7ffc12c90050 b resource:///org/gnome/gjs/modules/core/_signals.js:114 (25a1430d3920 @ 433)
Apr 21 13:19:59 flute gnome-shell[1536]: #5 558e7e126818 i /home/jivan/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:10371 (ab3affa65b0 @ 38)