| Summary: | Crash in thumbnails when using QPainter backend | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | David Edmundson <kde> |
| Component: | core | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | nate |
| Priority: | NOR | Keywords: | wayland-only |
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Other | ||
| Latest Commit: | https://invent.kde.org/plasma/kwin/commit/e4b279866e26f4388d6a3dc7e7b4c1ac4efd72ac | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
The title is confusing. KWin crashes in screencasting code with QPainter render backend. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1470 Git commit 9bda050d84ed493cbe429116b32739a72e3ce994 by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 28/09/2021 at 17:18. Pushed by apol into branch 'master'. screencasting: Do not crash when the platform cannot provide textures When using the QPainter backend, we will be getting null textures. Just ignore these as the backend isn't all that important. M +9 -0 src/plugins/screencast/screencastmanager.cpp https://invent.kde.org/plasma/kwin/commit/9bda050d84ed493cbe429116b32739a72e3ce994 Git commit e4b279866e26f4388d6a3dc7e7b4c1ac4efd72ac by Xaver Hugl, on behalf of Aleix Pol. Committed on 03/11/2021 at 06:06. Pushed by zamundaaa into branch 'Plasma/5.23'. screencasting: Do not crash when the platform cannot provide textures When using the QPainter backend, we will be getting null textures. Just ignore these as the backend isn't all that important. (cherry picked from commit 9bda050d84ed493cbe429116b32739a72e3ce994) M +9 -0 src/plugins/screencast/screencastmanager.cpp https://invent.kde.org/plasma/kwin/commit/e4b279866e26f4388d6a3dc7e7b4c1ac4efd72ac |
#0 QExplicitlySharedDataPointer<KWin::GLTexturePrivate>::operator->() const (this=0x8) at /usr/include/qt/QtCore/qshareddata.h:161 #1 qGetPtrHelper<QExplicitlySharedDataPointer<KWin::GLTexturePrivate> const>(QExplicitlySharedDataPointer<KWin::GLTexturePrivate> const&) (ptr=...) at /usr/include/qt/QtCore/qglobal.h:1143 #2 KWin::GLTexture::d_func() const (this=0x0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/libkwineffects/kwingltexture.h:151 #3 KWin::GLTexture::isYInverted() const (this=0x0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/libkwineffects/kwingltexture.cpp:656 #4 0x00005561ce859e87 in KWin::WindowStream::bufferToStream() (this=0x5561cf8d9bc0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/plugins/screencast/screencastmanager.cpp:78 #5 0x00007f2e9821a76b in () at /usr/lib/libQt5Core.so.5 #6 0x00007f2e9ade2175 in KWin::Scene::paintScreen(QRegion const&, QRegion const&, QRegion*, QRegion*, KWin::RenderLoop*, QMatrix4x4 const&) (this=0x5561cf1f3050, damage=<optimized out>, repaint=<optimized out>, updateRegion=0x7ffd876eea88, validRegion=0x7ffd876eea80, renderLoop=<optimized out>, projection=...) at /home/david/projects/kde5/src/kde/workspace/kwin/src/scene.cpp:219 #7 0x00007f2e90bdc310 in KWin::SceneQPainter::paint(KWin::AbstractOutput*, QRegion const&, QList<KWin::Toplevel*> const&, KWin::RenderLoop*) (this=0x5561cf1f3050, output=0x5561cf1f1830, damage=..., toplevels=<optimized out>, renderLoop=0x5561cf1e1d70) at /home/david/projects/kde5/src/kde/workspace/kwin/src/plugins/scenes/qpainter/scene_qpainter.cpp:101 #8 0x00007f2e9ad2df20 in KWin::Compositor::composite(KWin::RenderLoop*) (this=0x5561cf001c10, renderLoop=0x5561cf1e1d70) at /home/david/projects/kde5/src/kde/workspace/kwin/src/composite.cpp:619 #9 0x00007f2e9821a76b in () at /usr/lib/libQt5Core.so.5 #10 0x00007f2e9acf62b0 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (this=0x0, _t1=0x5561cf1e1d70) at src/kwin_autogen/EWIEGA46WW/moc_renderloop.cpp:206 #11 0x00007f2e9add063a in KWin::RenderLoopPrivate::dispatch() (this=0x5561cf1f07a0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/renderloop.cpp:148 #12 KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0::operator()() const (this=<optimized out>) at /home/david/projects/kde5/src/kde/workspace/kwin/src/renderloop.cpp:31 #13 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0>::call(KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0&, void**) (f=<optimized out>, arg=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #14 QtPrivate::Functor<KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0, 0>::call<QtPrivate::List<>, void>(KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0&, void*, void**) (f=<optimized out>, arg=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #15 QtPrivate::QFunctorSlotObject<KWin::RenderLoopPrivate::RenderLoopPrivate(KWin::RenderLoop*)::$_0, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=0x5561cf8ef230, a=0x7ffd876ee960, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #16 0x00007f2e9821a76b in () at /usr/lib/libQt5Core.so.5