https://bugs.kde.org/show_bug.cgi?id=388854
--- Comment #35 from Tobias Deiminger <haxti...@posteo.de> --- (In reply to Albert Astals Cid from comment #34) > That code is only used if you have QT_XCB_NATIVE_PAINTING environment > variable set that i hope you're not since it's experimental The variable wasn't set. So QPixmap didn't delegate to QX11PlatformPixmap, but to QRasterPlatformPixmap. > I can't find memory chunks large enough to hold contiguous range > of memory for page bitmaps Now I know why heap didn't contain expected chunks. The inner objects of PagePrivate::PixmapObject::m_pixmap were NOT in heap, but on stack. @Albert: As I understand, the Page QPixmap is meant to live long. Is this correct? If yes, we have a bug here, because stack memory of course doesn't live long. That's what I did, maybe someone can repeat it for confirmation. void PagePrivate::setPixmap( DocumentObserver *observer, QPixmap *pixmap, const NormalizedRect &rect, bool isPartialPixmap ) { if ( m_rotation == Rotation0 ) { // ... QMap< DocumentObserver*, PagePrivate::PixmapObject >::iterator it = m_pixmaps.find( observer ); // ... it.value().m_pixmap = pixmap; // break here, and observe inner objects of QPixmap* pixmap // ... } } (gdb) b page.cpp:557 Breakpoint 1 at 0x7fffdac68109: file /home/deiminge/git/okular/core/page.cpp, line 557. (gdb) c Thread 1 "okular" hit Breakpoint 1, Okular::PagePrivate::setPixmap (this=0x555555d2a610, observer=0x555555a46ee0, pixmap=0x555555df9d60, rect=..., isPartialPixmap=0x0) at /home/deiminge/git/okular/core/page.cpp:557 557 it.value().m_pixmap = pixmap; (gdb) p *pixmap $1 = { ... members of QPixmap: data = { d = 0x555555d21950 } } (gdb) p *(QRasterPlatformPixmap*)0x555555d21950 $2 = { ... members of QRasterPlatformPixmap: image = { members of QImage: d = 0x7fffc00100d0 } } (gdb) p *(QImageData*)0x7fffc00100d0 $9 = { ... width = 0x4f9, height = 0x673, depth = 0x20, nbytes = 0x80476c, devicePixelRatio = 1, ... data = 0x7fffc6093010 // Here's the large raw pixmap // 0x7fff... is in my stack memory range ... } -- You are receiving this mail because: You are watching all bug changes.