[okular] [Bug 425188] Okular crashes opening PDFs from other apps

David Hurka bugzilla_noreply at kde.org
Sun Nov 8 11:12:11 GMT 2020


https://bugs.kde.org/show_bug.cgi?id=425188

David Hurka <david.hurka at mailbox.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|REPORTED                    |CONFIRMED

--- Comment #10 from David Hurka <david.hurka at mailbox.org> ---
For those who still suffer from this crash: Make sure that your screen
arrangement contains the point (0, 0). Alternatively, upgrade to Qt >= 5.14.

Yesterday we could reproduce and debug this crash by chance. My test
application did not compile, because QWidget::screen() is only available since
Qt 5.14. And that is the point: You use Qt 5.12, where QWidget::screen() does
not exist yet.

QScroller uses QDesktopWidget instead, but QDesktopWidget returns screen -1
when the widget does not (yet) intersect with a physical screen. QScroller does
not check for -1, and silently fetches the QScreen* pointer at position -1.
This position is some QList internal data, so the application does not crash
there yet. So, instead of a pointer, QScroller reads your screen *count* with
an offset of 32 bit. This is why the backtraces contain this=0x300000000.

I reported this bug at https://bugreports.qt.io/browse/QTBUG-88288.

Until Okular requires Qt >= 5.14, we will need protecting code in PageView,
which enlarges the widget if it does not intersect with physical screens.

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


More information about the Okular-devel mailing list