View Bug Details

IDProjectCategoryView StatusLast Update
0002913DCP-o-maticBugspublic2024-12-29 09:18
Reporterrobn Assigned Tocarl  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionnot fixable 
PlatformLinuxOSFedoraOS Version41
Summary0002913: "Minus" character is replaced by an "X" everywhere in the UI
Description

I noticed that the "-" character is shown as "X" in the UI everywhere (see screenshot).
This is on DOM 2.16.99 on Fedora 41.

TagsNo tags attached.
Attached Files
no_minus.png (40,312 bytes)   
no_minus.png (40,312 bytes)   
Branch
Estimated weeks required
Estimated work required

Activities

carl

2024-12-14 08:46

administrator   ~0006622

That's odd, I don't see that here (I'm also using Fedora 41). Can you start DCP-o-matic in the terminal (just run dcpomatic2) and see if there are any messages printed there?

robn

2024-12-16 21:57

reporter   ~0006627

There is nothing interesting printed:

(dcpomatic2:288109): Gtk-WARNING **: 22:56:10.141: Negative content width -26 (allocation 8, extents 17x17) while allocating gadget (node button, owner GtkButton)

(dcpomatic2:288109): Gtk-WARNING **: 22:56:10.141: Negative content height -2 (allocation 8, extents 5x5) while allocating gadget (node button, owner GtkButton)

(dcpomatic2:288109): Gtk-WARNING **: 22:56:10.141: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node header, owner GtkNotebook)

(dcpomatic2:288109): Gtk-WARNING **: 22:56:14.201: Negative content height -9 (allocation 1, extents 5x5) while allocating gadget (node button, owner GtkButton)

(dcpomatic2:288109): Gtk-WARNING **: 22:56:14.258: Negative content width -33 (allocation 1, extents 17x17) while allocating gadget (node button, owner GtkButton)

robn

2024-12-16 22:02

reporter   ~0006628

First I thought that it might have something to do with my insanely old window manager (I use fvwm-1.24r which is 30 years old, don't ask .. :-)
But I can reproduce the problem with a new account on a clean/new machine under Gnome (both wayland and X) and Plasma.
So it doesn't not seem related to my personal setup.

robn

2024-12-16 22:11

reporter   ~0006629

One more datapoint: when started under the LXDE environment, things are OK (proper minus signs)

robn

2024-12-16 22:17

reporter   ~0006630

And under an Xfce environment things are OK too.

robn

2024-12-16 23:44

reporter   ~0006631

DOM 2.17.28 has the same problem BTW

robn

2024-12-22 23:17

reporter   ~0006677

And DOM 2.18.0 has it too.

carl

2024-12-28 21:18

administrator   ~0006687

Can you run

gsettings get org.gnome.desktop.interface gtk-theme

from a terminal, and if it responds 'Adwaita' please can you attach the file

/usr/share/icons/Adwaita/symbolic/actions/list-remove-symbolic.svg

here? It should be the SVG of the minus icon in the spin button.

robn

2024-12-29 01:12

reporter   ~0006688

The output is always the same (checked again with DOM 2.18.1):

domtest@computer:~$ gsettings get org.gnome.desktop.interface gtk-theme
'Adwaita'

domtest@computer:~$ ls -l /usr/share/icons/Adwaita/symbolic/actions/list-remove-symbolic.svg
-rw-r--r--. 1 root root 194 Sep 16 02:00 /usr/share/icons/Adwaita/symbolic/actions/list-remove-symbolic.svg

(list-remove-symbolic.svg is attached, it is the correct minus icon)

I checked again with several desktop environments:

"GNOME"
"GNOME Classic"
"GNOME Classic on Xorg"
"GNOME on Xorg"
"Openbox"
"Plasma"
==> Wrong minus icon (a cross)

"LXDE"
"Xfce Session"
==> Correct minus icon

robn

2024-12-29 01:18

reporter   ~0006689

I was not allowed to upload a .svg file by Mantis, so I included a screenshot from a file manager

list-remove-symbolic.png (6,491 bytes)   
list-remove-symbolic.png (6,491 bytes)   

carl

2024-12-29 01:32

administrator   ~0006690

Thanks! This is very confusing. Maybe you could do

strace dcpomatic2 2>&1 | grep list-remove-symbolic

and post the output?

robn

2024-12-29 01:52

reporter   ~0006691

domtest@computer:~$ strace dcpomatic2 2>&1 | grep list-remove-symbolic
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 18
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 28
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 29
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 29
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 34
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 34
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 34
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 34
openat(AT_FDCWD, "/usr/share/icons/breeze/actions/16/list-remove-symbolic.svg", O_RDONLY|O_CLOEXEC) = 34
domtest@computer:~$ ls -l /usr/share/icons/breeze/actions/16/list-remove-symbolic.svg
lrwxrwxrwx. 1 root root 15 Dec 14 01:00 /usr/share/icons/breeze/actions/16/list-remove-symbolic.svg -> list-remove.svg
domtest@computer:~$ ls -l /usr/share/icons/breeze/actions/16/list-remove.svg
lrwxrwxrwx. 1 root root 22 Dec 14 01:00 /usr/share/icons/breeze/actions/16/list-remove.svg -> edit-delete-remove.svg
domtest@computer:~$ ls -l /usr/share/icons/breeze/actions/16/edit-delete-remove.svg
lrwxrwxrwx. 1 root root 14 Dec 14 01:00 /usr/share/icons/breeze/actions/16/edit-delete-remove.svg -> paint-none.svg
domtest@computer:~$ ls -l /usr/share/icons/breeze/actions/16/paint-none.svg
-rw-r--r--. 1 root root 526 Dec 6 12:49 /usr/share/icons/breeze/actions/16/paint-none.svg

And this "paint-none.svg" is indeed a cross !

paint-none.png (5,581 bytes)   
paint-none.png (5,581 bytes)   

carl

2024-12-29 09:17

administrator   ~0006692

Looks like this is a bug in GTK for which a fix has been merged.

https://gitlab.gnome.org/GNOME/gtk/-/issues/7080

So I think we just have to wait for this fix to make it into Fedora. I don't think it's easy to fix on the DCP-o-matic end.

carl

2024-12-29 09:17

administrator   ~0006693

You could hack around it by replacing that symlink to list-remove-symbolic.svg with some more appropriate icon.

Bug History

Date Modified Username Field Change
2024-12-11 22:07 robn New Bug
2024-12-11 22:07 robn File Added: no_minus.png
2024-12-14 08:46 carl Assigned To => carl
2024-12-14 08:46 carl Status new => feedback
2024-12-14 08:46 carl Note Added: 0006622
2024-12-16 21:57 robn Note Added: 0006627
2024-12-16 21:57 robn Status feedback => assigned
2024-12-16 22:02 robn Note Added: 0006628
2024-12-16 22:11 robn Note Added: 0006629
2024-12-16 22:17 robn Note Added: 0006630
2024-12-16 23:44 robn Note Added: 0006631
2024-12-22 23:17 robn Note Added: 0006677
2024-12-28 21:18 carl Status assigned => feedback
2024-12-28 21:18 carl Note Added: 0006687
2024-12-29 01:12 robn Note Added: 0006688
2024-12-29 01:18 robn Note Added: 0006689
2024-12-29 01:18 robn File Added: list-remove-symbolic.png
2024-12-29 01:18 robn Status feedback => assigned
2024-12-29 01:32 carl Note Added: 0006690
2024-12-29 01:32 carl Status assigned => feedback
2024-12-29 01:52 robn Note Added: 0006691
2024-12-29 01:52 robn File Added: paint-none.png
2024-12-29 01:52 robn Status feedback => assigned
2024-12-29 09:17 carl Note Added: 0006692
2024-12-29 09:17 carl Note Added: 0006693
2024-12-29 09:18 carl Status assigned => resolved
2024-12-29 09:18 carl Resolution open => not fixable