maintainer-feedback requested: [Bug 228199] [patch] graphics/okular: fix crash when opening files

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat May 12 16:00:39 UTC 2018


Bugzilla Automation <bugzilla at FreeBSD.org> has asked kde at FreeBSD.org for
maintainer-feedback:
Bug 228199: [patch] graphics/okular: fix crash when opening files
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228199



--- Description ---
Okular crashes when opening a PDF attachment in Kmail.	It also crashes when
starting Okular, opening a first file and then opening a second file.  The
crashes happen because some dynamic_cast calls return NULL.  The attached patch
replaces these with qobject_cast.  I'm not familiar enough with C++ to
understand why dynamic_cast fails.  The object is actually of type Okular::Part
and the casts are side casts from one parent class to another, not up or down
casts.	I thought dynamic_cast could handle this though.  Another way to fix
the crash was to down cast to Okular::Part, but then the linker complained that
the typeinfo wasn't available and okular had to be linked to okularpart.so to
fix that.  So, the problem may be that the side cast needs the typeinfo of
Okular::Part at runtime and that it isn't available?  Using qobject_cast fixes
it because it doesn't rely on typeinfo.

Can someone reproduce this, because maybe this is some toolchain problem?


More information about the kde-freebsd mailing list