[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


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228199

            Bug ID: 228199
           Summary: [patch] graphics/okular: fix crash when opening files
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: kde at FreeBSD.org
          Reporter: tijl at FreeBSD.org
             Flags: maintainer-feedback?(kde at FreeBSD.org)
          Assignee: kde at FreeBSD.org

Created attachment 193330
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=193330&action=edit
patch

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?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the kde-freebsd mailing list