[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