https://bugs.kde.org/show_bug.cgi?id=448234

            Bug ID: 448234
           Summary: some SVGs rendered many places throughout Plasma are
                    rendered incorrectly
           Product: plasmashell
           Version: 5.23.5
          Platform: Archlinux Packages
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: k...@davidedmundson.co.uk
          Reporter: adam.m.fontenot+...@gmail.com
                CC: plasma-b...@kde.org
  Target Milestone: 1.0

Created attachment 145311
  --> https://bugs.kde.org/attachment.cgi?id=145311&action=edit
screenshot showing the issue in the search plasmoid

SUMMARY
This is a very general bug that results from KDE's use of Qt to render SVGs. Qt
does not support the full SVG spec, and requests for Qt to support additional
features of SVG have been denied in the past. See
https://doc.qt.io/qt-5/svgrendering.html and
https://bugreports.qt.io/browse/QTBUG-12588 for more on this.

What this means is that KDE cannot rely on Qt's image handling functionality
for SVG rendering - at all. Any place where a third party SVG is loaded by KDE
might end up displaying a broken rendering to the user.

Gwenview is most obvious case of a KDE application affected by this bug. There
is a confirmed report for moving Gwenview to a different renderer:
https://bugs.kde.org/show_bug.cgi?id=336436

There is also a report for incorrect rendering in the thumbnailer, which also
relies on Qt: https://bugs.kde.org/show_bug.cgi?id=330585

I am reporting this against plasmashell (1) because there are cases where
plasmashell specifically is affected and (2) to raise awareness of the fact
that Qt's lack of support for SVG is a general problem affecting the KDE code
base.

Sample broken SVG image:
https://gitlab.gnome.org/GNOME/eog/-/blob/master/data/icons/scalable/apps/org.gnome.eog.svg

STEPS TO REPRODUCE
1. Use an icon theme with a broken SVG icon. (If you have EOG installed, any
icon theme that doesn't replace its default icon will show the problem.)
2. Interact with the application in various Plasma tools (for example, in
krunner, the search plasmoid, right click menu, or elsewhere)
3. Observe whether the icon is correctly rendered. (Compare to Inkscape or
Firefox, which aren't affected by this bug.)

OBSERVED RESULT
Broken icon. Screenshot attached.

EXPECTED RESULT
Not broken icon. The preview image shown in Firefox looks correct to me:
https://gitlab.gnome.org/GNOME/eog/-/blob/master/data/icons/scalable/apps/org.gnome.eog.svg

SOFTWARE/OS VERSIONS
Linux: Arch Linux x86_64 (5.15.13-arch1-1)
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
As a way of verifying that this is a Qt problem, the following trivial program
shows the issue:

from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QMessageBox, QLabel

app = QApplication([])
msg = QMessageBox()
pixmap = QPixmap("/usr/share/icons/hicolor/scalable/apps/org.gnome.eog.svg")
label = QLabel()
label.setPixmap(pixmap)
msg.layout().addWidget(label)
msg.exec_()

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to