When opening a pdf file, Okular shows a backend selection dialog with a duplicate 'okular_poppler' entry. This happens only when the 'Show backend selection dialog' option is enabled. Other backends seem to work fine. Steps to reproduce: 1. Start Okular. 2. Make sure that the 'Show backend selection dialog' (General Options) is enabled. 3. Open a pdf file. Result: A backend selection dialog pops up with 2 (similar) 'okular_poppler' entries. Expected result: No selection dialog should appear if there is only 1 suitable backend available. Version info: Okular 1.0.0 KDE Frameworks 5.29.0 QT 5.7.1
Confirmed with current git master on Debian Testing.
Are you totally totally sure that you don't have two okular installations messing with eachother?
I don't know. How can I make sure? In any case, my okular installation 0.26.1 from the Debian package does not have the problem.
I purged the okular Debian package from my system, along with an old poppler package I still had, leaving only 0.48. Then I rebuilt okular from scratch from the git master. The problem persists.
(In reply to Oliver Sander from comment #3) > I don't know. How can I make sure? Can you run locate okularGenerator_poppler locate libpoppler from console? Thanks in advance.
Sure, here it is: [/home/sander/okular-{test|save}] are two additional source trees that I happen to have in my home directory.] ~> locate okularGenerator_poppler /home/sander/okular/build/generators/poppler/okularGenerator_poppler.so /home/sander/okular/build/generators/poppler/okularGenerator_poppler_automoc.cpp /home/sander/okular/build/generators/poppler/okularGenerator_poppler_automoc.dir /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/CXX.includecache /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/DependInfo.cmake /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/annots.cpp.o /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/build.make /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/cmake_clean.cmake /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/depend.internal /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/depend.make /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/flags.make /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/formfields.cpp.o /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/generator_pdf.cpp.o /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/link.txt /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/okularGenerator_poppler_automoc.cpp.o /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/pdfsettings.cpp.o /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/progress.make /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/AutogenInfo.cmake /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/AutomocOldMocDefinitions.cmake /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/DependInfo.cmake /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/build.make /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/cmake_clean.cmake /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/depend.internal /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/depend.make /home/sander/okular/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/progress.make /home/sander/okular/build/generators/poppler/okularGenerator_poppler_automoc.dir/moc_generator_pdf_24QWUT7JV56U7I.cpp /home/sander/okular/generators/poppler/libokularGenerator_poppler.json /home/sander/okular-inst/lib/x86_64-linux-gnu/plugins/okular/generators/okularGenerator_poppler.so /home/sander/okular-save/build/generators/poppler/okularGenerator_poppler.so /home/sander/okular-save/build/generators/poppler/okularGenerator_poppler_automoc.cpp /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/CXX.includecache /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/DependInfo.cmake /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/annots.cpp.o /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/build.make /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/cmake_clean.cmake /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/depend.internal /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/depend.make /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/flags.make /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/formfields.cpp.o /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/generator_pdf.cpp.o /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/link.txt /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/okularGenerator_poppler_automoc.cpp.o /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/pdfsettings.cpp.o /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/progress.make /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/AutogenInfo.cmake /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/AutomocOldMocDefinitions.cmake /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/DependInfo.cmake /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/build.make /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/cmake_clean.cmake /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/depend.internal /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/depend.make /home/sander/okular-save/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/progress.make /home/sander/okular-save/generators/poppler/libokularGenerator_poppler.desktop /home/sander/okular-test/build/generators/poppler/okularGenerator_poppler.so /home/sander/okular-test/build/generators/poppler/okularGenerator_poppler_automoc.cpp /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/CXX.includecache /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/DependInfo.cmake /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/annots.cpp.o /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/build.make /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/cmake_clean.cmake /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/depend.internal /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/depend.make /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/flags.make /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/formfields.cpp.o /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/generator_pdf.cpp.o /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/link.txt /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/okularGenerator_poppler_automoc.cpp.o /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/pdfsettings.cpp.o /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler.dir/progress.make /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/AutogenInfo.cmake /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/AutomocOldMocDefinitions.cmake /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/DependInfo.cmake /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/build.make /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/cmake_clean.cmake /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/depend.internal /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/depend.make /home/sander/okular-test/build/generators/poppler/CMakeFiles/okularGenerator_poppler_automoc.dir/progress.make /home/sander/okular-test/generators/poppler/libokularGenerator_poppler.desktop ~> locate libpoppler /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8 /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8.8.0 /usr/lib/x86_64-linux-gnu/libpoppler-qt4.a /usr/lib/x86_64-linux-gnu/libpoppler-qt4.so /usr/lib/x86_64-linux-gnu/libpoppler-qt4.so.4 /usr/lib/x86_64-linux-gnu/libpoppler-qt4.so.4.10.0 /usr/lib/x86_64-linux-gnu/libpoppler-qt5.a /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1 /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1.7.0 /usr/lib/x86_64-linux-gnu/libpoppler.a /usr/lib/x86_64-linux-gnu/libpoppler.so /usr/lib/x86_64-linux-gnu/libpoppler.so.46 /usr/lib/x86_64-linux-gnu/libpoppler.so.46.0.0 /usr/lib/x86_64-linux-gnu/libpoppler.so.64 /usr/lib/x86_64-linux-gnu/libpoppler.so.64.0.0 /usr/share/doc/libpoppler-dev /usr/share/doc/libpoppler-glib8 /usr/share/doc/libpoppler-private-dev /usr/share/doc/libpoppler-qt4-4 /usr/share/doc/libpoppler-qt4-dev /usr/share/doc/libpoppler-qt5-1 /usr/share/doc/libpoppler-qt5-dev /usr/share/doc/libpoppler46 /usr/share/doc/libpoppler64 /usr/share/doc/libpoppler-dev/changelog.Debian.gz /usr/share/doc/libpoppler-dev/copyright /usr/share/doc/libpoppler-glib8/changelog.Debian.gz /usr/share/doc/libpoppler-glib8/copyright /usr/share/doc/libpoppler-private-dev/changelog.Debian.gz /usr/share/doc/libpoppler-private-dev/copyright /usr/share/doc/libpoppler-qt4-4/changelog.Debian.gz /usr/share/doc/libpoppler-qt4-4/copyright /usr/share/doc/libpoppler-qt4-dev/changelog.Debian.gz /usr/share/doc/libpoppler-qt4-dev/copyright /usr/share/doc/libpoppler-qt5-1/changelog.Debian.gz /usr/share/doc/libpoppler-qt5-1/copyright /usr/share/doc/libpoppler-qt5-dev/changelog.Debian.gz /usr/share/doc/libpoppler-qt5-dev/copyright /usr/share/doc/libpoppler46/AUTHORS /usr/share/doc/libpoppler46/NEWS.gz /usr/share/doc/libpoppler46/README /usr/share/doc/libpoppler46/README-XPDF.gz /usr/share/doc/libpoppler46/TODO /usr/share/doc/libpoppler46/changelog.Debian.gz /usr/share/doc/libpoppler46/changelog.gz /usr/share/doc/libpoppler46/copyright /usr/share/doc/libpoppler64/AUTHORS /usr/share/doc/libpoppler64/NEWS.gz /usr/share/doc/libpoppler64/README /usr/share/doc/libpoppler64/README-XPDF.gz /usr/share/doc/libpoppler64/TODO /usr/share/doc/libpoppler64/changelog.Debian.gz /usr/share/doc/libpoppler64/changelog.gz /usr/share/doc/libpoppler64/copyright /var/cache/apt/archives/libpoppler-dev_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler-dev_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler-dev_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler-dev_0.44.0-3_amd64.deb /var/cache/apt/archives/libpoppler-glib8_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler-glib8_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler-glib8_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler-glib8_0.44.0-3_amd64.deb /var/cache/apt/archives/libpoppler-private-dev_0.48.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt4-4_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler-qt4-4_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt4-4_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt4-4_0.44.0-3_amd64.deb /var/cache/apt/archives/libpoppler-qt4-dev_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler-qt4-dev_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt4-dev_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt4-dev_0.44.0-3_amd64.deb /var/cache/apt/archives/libpoppler-qt5-1_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler-qt5-1_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt5-1_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt5-1_0.44.0-3_amd64.deb /var/cache/apt/archives/libpoppler-qt5-dev_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler-qt5-dev_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt5-dev_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler-qt5-dev_0.44.0-3_amd64.deb /var/cache/apt/archives/libpoppler46_0.26.5-4_amd64.deb /var/cache/apt/archives/libpoppler57_0.38.0-2_amd64.deb /var/cache/apt/archives/libpoppler61_0.44.0-2_amd64.deb /var/cache/apt/archives/libpoppler61_0.44.0-3_amd64.deb /var/lib/dpkg/info/libpoppler-dev:amd64.list /var/lib/dpkg/info/libpoppler-dev:amd64.md5sums /var/lib/dpkg/info/libpoppler-glib8:amd64.list /var/lib/dpkg/info/libpoppler-glib8:amd64.md5sums /var/lib/dpkg/info/libpoppler-glib8:amd64.shlibs /var/lib/dpkg/info/libpoppler-glib8:amd64.symbols /var/lib/dpkg/info/libpoppler-glib8:amd64.triggers /var/lib/dpkg/info/libpoppler-private-dev:amd64.list /var/lib/dpkg/info/libpoppler-private-dev:amd64.md5sums /var/lib/dpkg/info/libpoppler-qt4-4:amd64.list /var/lib/dpkg/info/libpoppler-qt4-4:amd64.md5sums /var/lib/dpkg/info/libpoppler-qt4-4:amd64.shlibs /var/lib/dpkg/info/libpoppler-qt4-4:amd64.symbols /var/lib/dpkg/info/libpoppler-qt4-4:amd64.triggers /var/lib/dpkg/info/libpoppler-qt4-dev.list /var/lib/dpkg/info/libpoppler-qt4-dev.md5sums /var/lib/dpkg/info/libpoppler-qt5-1:amd64.list /var/lib/dpkg/info/libpoppler-qt5-1:amd64.md5sums /var/lib/dpkg/info/libpoppler-qt5-1:amd64.shlibs /var/lib/dpkg/info/libpoppler-qt5-1:amd64.symbols /var/lib/dpkg/info/libpoppler-qt5-1:amd64.triggers /var/lib/dpkg/info/libpoppler-qt5-dev:amd64.list /var/lib/dpkg/info/libpoppler-qt5-dev:amd64.md5sums /var/lib/dpkg/info/libpoppler46:amd64.list /var/lib/dpkg/info/libpoppler46:amd64.md5sums /var/lib/dpkg/info/libpoppler46:amd64.postinst /var/lib/dpkg/info/libpoppler46:amd64.postrm /var/lib/dpkg/info/libpoppler46:amd64.shlibs /var/lib/dpkg/info/libpoppler64:amd64.list /var/lib/dpkg/info/libpoppler64:amd64.md5sums /var/lib/dpkg/info/libpoppler64:amd64.shlibs /var/lib/dpkg/info/libpoppler64:amd64.triggers
As far as I can see the problem isn't a duplicate generator but a problem with mimetypes. Freedesktop defines "application/x-pdf" as an alias of "application/pdf". The poppler backend supports both mimetypes, but in the mimetype lookup (QMimeType mimeType = mimeDatabase.mimeTypeForName(supported) in DocumentPrivate::generatorForMimeType) the result is the same mimetype "application/pdf".
https://git.reviewboard.kde.org/r/129791/
I confirm that the patch avoids the duplicate 'poppler' entry for me. Thanks!
Git commit f3f077e1a632c6eed77564ff92117a11f7855f2a by Antonio Rojas. Committed on 08/01/2017 at 18:38. Pushed by arojas into branch 'Applications/16.12'. Avoid duplicates in the available backends list If a generator can open multiple mime types that match the same file, avoid showing a backend chooser dialog with multiple instances of the same backend REVIEW: 129791 M +2 -2 core/document.cpp https://commits.kde.org/okular/f3f077e1a632c6eed77564ff92117a11f7855f2a
Git commit 84c9910da9533b9b08fc5a40f693d6763152b331 by Antonio Rojas. Committed on 08/01/2017 at 18:48. Pushed by arojas into branch 'master'. Avoid duplicates in the available backends list If a generator can open multiple mime types that match the same file, avoid showing a backend chooser dialog with multiple instances of the same backend REVIEW: 129791 M +2 -2 core/document.cpp https://commits.kde.org/okular/84c9910da9533b9b08fc5a40f693d6763152b331