Fix segfault/call on invalid pointer

Authored by sandsmark on Mar 27 2020, 1:41 PM.

Description

Fix segfault/call on invalid pointer

We didn't set the AbstractImageView in AbstractImageViewPrivate early
enough, and createAlphaBackgroundTexture() tried to call stuff on q.

Quote from asan:

161679==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fa8cdcc193a bp 0x7ffe601e4a00 sp 0x7ffe601e48f0 T0)

161679==The signal is caused by a READ memory access.

161679==Hint: address points to the zero page.

#0 0x7fa8cdcc1939 in Gwenview::AbstractImageViewPrivate::createAlphaBackgroundTexture() (gwenview/build/bin/libgwenviewlib.so.5+0x108a939)
#1 0x7fa8cdcc28b8 in Gwenview::AbstractImageViewPrivate::AbstractImageViewPrivate() (gwenview/build/bin/libgwenviewlib.so.5+0x108b8b8)
#2 0x7fa8cdca46a2 in Gwenview::AbstractImageView::AbstractImageView(QGraphicsItem*) ../lib/documentview/abstractimageview.cpp:145
#3 0x7fa8cdd500a5 in Gwenview::RasterImageView::RasterImageView(QGraphicsItem*) ../lib/documentview/rasterimageview.cpp:194

Reviewed By: ngraham

Differential Revision: https://phabricator.kde.org/D28345

Details

Committed
sandsmarkApr 19 2020, 2:40 PM
Reviewer
ngraham
Differential Revision
D28345: Fix segfault/call on invalid pointer
Parents
R260:0d36aa4a7e9a: GIT_SILENT Update Appstream for new release
Branches
Unknown
Tags
Unknown