https://bugs.kde.org/show_bug.cgi?id=445894
--- Comment #21 from Jiri Slaby <jirisl...@gmail.com> --- (In reply to Vlad Zahorodnii from comment #20) > Not sure what valgrind doesn't like, I don't see issues with that code right > off the bat. I reorganized the conditions to one per line: > 303 const auto &checkBuffer = [this, backend, &buffer](const > QSharedPointer<DrmBuffer> &buf){ > 304 const auto &mods = supportedModifiers(buf->format()); > 305 if (backend) > 306 if (buf->format() == backend->drmFormat(m_output)) > 307 if (mods.isEmpty() || > mods.contains(buf->modifier())) > 308 if (buf->size() == bufferSize()) > 309 buffer = buf; > 310 }; And added --track-origins=yes to valgrind (the last 2 lines are new): > Conditional jump or move depends on uninitialised value(s) > at 0xCD2EBCF: > KWin::DrmPipeline::checkTestBuffer()::{lambda(QSharedPointer<KWin::DrmBuffer> > const&)#1}::operator()(QSharedPointer<KWin::DrmBuffer> const&) const > (drm_pipeline.cpp:306) > by 0xCD2EDA3: KWin::DrmPipeline::checkTestBuffer() (drm_pipeline.cpp:318) > by 0xCD2F41E: > KWin::DrmPipeline::commitPipelinesAtomic(QVector<KWin::DrmPipeline*> const&, > KWin::DrmPipeline::CommitMode, QVector<KWin::DrmObject*> const&) > (drm_pipeline.cpp:131) > by 0xCD26BA8: KWin::DrmGpu::testPipelines() (drm_gpu.cpp:427) > by 0xCD29E27: > KWin::DrmGpu::checkCrtcAssignment(QVector<KWin::DrmConnector*>, > QVector<KWin::DrmCrtc*>) (drm_gpu.cpp:365) > by 0xCD29E27: > KWin::DrmGpu::checkCrtcAssignment(QVector<KWin::DrmConnector*>, > QVector<KWin::DrmCrtc*>) (drm_gpu.cpp:365) > by 0xCD3B298: UnknownInlinedFun (drm_gpu.cpp:398) > by 0xCD3B298: UnknownInlinedFun (drm_gpu.cpp:396) > by 0xCD3B298: > KWin::DrmGpu::testPendingConfiguration(KWin::DrmGpu::TestMode) [clone > .constprop.0] (drm_gpu.cpp:403) > by 0xCD14B43: KWin::DrmBackend::updateOutputs() (drm_gpu.cpp:309) > by 0xCD16F0C: KWin::DrmBackend::handleUdevEvent() (drm_backend.cpp:237) > by 0x6FC54F2: UnknownInlinedFun (qobjectdefs_impl.h:398) > by 0x6FC54F2: void doActivate<false>(QObject*, int, void**) > (qobject.cpp:3886) > by 0x6FC88CE: QSocketNotifier::activated(QSocketDescriptor, > QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) > (moc_qsocketnotifier.cpp:178) > by 0x6FC90CA: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:302) > Uninitialised value was created by a stack allocation > at 0xCD329F0: QtPrivate::QSlotObject<bool > (KWin::EglGbmBackend::*)(KWin::DrmAbstractOutput*), > QtPrivate::List<KWin::DrmAbstractOutput*>, void>::impl(int, > QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (qobjectdefs_impl.h:411) Not sure if it tells you what is THE uninitialized object. -- You are receiving this mail because: You are watching all bug changes.