Summary: | kimg_eps triggers LyX crash | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | Juergen Spitzmueller <juergen.sp> |
Component: | kimgio | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | rdieter |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Juergen Spitzmueller
2008-01-30 09:29:35 UTC
yep, what Juergen said, confirmed (on fedora), using kde-4.0.0 SVN commit 768782 by tokoe: Use QTemporaryFile instead of KTemporaryFile, since the latter requires a valid KComponentData object which is not available when the QImageIO plugin is used in Qt applications (e.g. Lyx). BUG: 156957 M +3 -4 eps.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=768782 On Wed, Jan 30, 2008 at 08:29:37AM -0000, Juergen Spitzmueller wrote:
Hej,
> (gdb) bt
> #0 0x00002b29f3d73fd0 in KAboutData::appName () from /usr/lib64/libkdecore.so.5
> #1 0x00002b29f3d89ca1 in KComponentData::componentName () from /usr/lib64/libkdecore.so.5
> #2 0x00002b29f3d62469 in KTemporaryFile::KTemporaryFile () from /usr/lib64/libkdecore.so.5
> #3 0x00002b29f5e3cd2f in ?? () from /usr/lib64/kde4/plugins/imageformats/kimg_eps.so
> #4 0x00002b29ee4a39cb in QImageReader::read () from /usr/lib64/libQtGui.so.4
Hmm, Lxy is a Qt-only application, right? So using KTemporaryFile which
accesses KGlobal::mainComponent() internally seems buggy to me.
Ciao,
Tobias
LyX is a Qt4-only application. We do not use any KDE stuff internally (to my best knowledge). I've no idea why KDE comes into play here. Maybe Qt's doing? On Wed, Jan 30, 2008 at 06:41:59PM -0000, Juergen Spitzmueller wrote:
Hej Juergen,
> LyX is a Qt4-only application. We do not use any KDE stuff internally (to my best knowledge).
> I've no idea why KDE comes into play here. Maybe Qt's doing?
Qt uses the QImageIO Plugins for rendering images. Since KDE installs
such a plugin for the EPS format, every Qt application picks that plugin
as well. Unfortunately in KDE4 the EPS plugin used a class which is only
available in applications which use KApplication instead of
QApplication, so the plugin asserted and Lyx was terminated.
I've fixed that issue in trunk and the KDE4.0 branch (will be part of
4.0.1 release) now by using only Qt classes in the EPS plugin.
Ciao,
Tobias
|