https://bugs.kde.org/show_bug.cgi?id=503645
Bug ID: 503645
Summary: Regression when loading directory images in
src/images/imagedirectory.cpp
Classification: Applications
Product: tellico
Version: 4.1.1
Platform: Ubuntu
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 180868
--> https://bugs.kde.org/attachment.cgi?id=180868&action=edit
Test TC file
SUMMARY
The current version of Tellico (v4.1.1, Ubuntu package 4.1.1-1ubuntu2 using
Qt6) has a regression when loading directory images as compared to Tellico
v3.5.5. In particular, image links with id="file:///...." produce "WARNING
image not found: "file:///...."" instead of displaying the image.
STEPS TO REPRODUCE
1. Save the attached TC file as "tellico-test.tc"
2. Save the attached JPEG file as
/data/videos/POSTERS/passion-of-the-christ.jpeg
3. Start tellico from the command line: "tellico tellico-test.tc"
4. Observe that the image is NOT loaded into the directory / list of entries,
and that the warning "WARNING image not found:
"file:///data/videos/POSTERS/passion-of-the-christ.jpeg"" is generated on the
terminal.
OBSERVED RESULT
Under Tellico v4.1.1, the image does not load as expected in the directory /
list of entries; instead, a default icon is shown and a warning is generated.
It DOES display correctly in the detail panel when the item is selected, at
least under ZAPGroup-Video-Narrow.xsl (of which I am the author).
EXPECTED RESULT
Under Tellico v3.5.5, the image showed correctly with no warnings.
SOFTWARE/OS VERSIONS
Ubuntu Version: 25.04 (Plucky Puffin)
Tellico Package Version: 4.1.1-1ubuntu2
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.3
DETAILED TECHNICAL INFORMATION
First of all, thank you for all your hard work with Tellico -- it's an
application I've been cheerfully using for many years. I've even submitted my
own theme, ZAP Group Video Narrow, which you've placed on the KDE Store for
Tellico.
I have a Python script called make-tellico that generates a video.tc file (the
script can be found at https://www.zap.org.au/git-browser/video-utils.git/).
As part of this script, all video poster images are stored in
/data/videos/POSTERS; they are NOT stored in video.tc. The TC file is, of
course, just a ZIP file containing tellico.xml. In that XML file, I have:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE tellico PUBLIC "-//Robby Stephenson/DTD Tellico V11.0//EN"
"http://periapsis.org/tellico/dtd/v11/tellico.dtd">
<tellico xmlns="http://periapsis.org/tellico/" syntaxVersion="11">
<collection title="Local collection of videos" type="3" ZAPGroupVersion="6">
...
<entry id="1">
<title>The Passion of the Christ</title>
<year>2004</year>
<cover>file:///data/videos/POSTERS/passion-of-the-christ.jpeg</cover>
<type>Movie</type>
<certification>MA15+</certification>
<filename>file:///data/videos/passion-of-the-christ.iso</filename>
<iso-title>4</iso-title>
...
</entry>
...
<images>
...
<image link="true" width="380" height="562" format="JPEG"
id="file:///data/videos/POSTERS/passion-of-the-christ.jpeg"/>
...
</images>
</collection>
</tellico>
Note, in particular, that the <cover> element has a local file:// URL, which is
reused in the <image> element. This worked correctly in v3.5.5. In v4.1.1,
ImageZipArchive::imageById() in src/images/imagedirectory.cpp fails to load the
URL "file:///data/videos/POSTERS/passion-of-the-christ.jpeg", hence generating
the warning on line 246 of the code.
If the <image> element is changed to use
"/data/videos/POSTERS/passion-of-the-christ.jpeg" as the id attribute (instead
of "file:///data..."), the image DOES display in the directory / list of
entries. HOWEVER, this leads to another problem. In particular, note that my
Tellico config file ~/.config/tellicorc contains:
[General Options]
Image Location=ImagesInAppDir
At this point, loading the TC file copies every poster from
/data/videos/POSTERS to ~/.local/share/tellico/data -- in my case, with a real
TC file containing over 5700 entries, almost 100MB worth of images!
Is it possible to fix ImageZipArchive::imageById() to work with "file:///"
URLs, or (perhaps a better solution) implement another mode for "Image
Location", say "ImagesInAbsoluteDir", which would use the images at a
particular location without any copying. I'm not an expert in Qt/C++
programming, but let me know if I could assist -- certainly with debugging, if
nothing else!
Once again, thanks for Tellico.
--
You are receiving this mail because:
You are watching all bug changes.