From kde-commits Fri Apr 08 07:26:18 2016 From: =?utf-8?b?SXZhbiDEjHVracSH?= Date: Fri, 08 Apr 2016 07:26:18 +0000 To: kde-commits Subject: [kwin] /: Checking whether the m_textTexture is not null before dereferencing it Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=146010038724232 Git commit f06dff3390b6638b980266ac5676b2e7503f1ae8 by Ivan =C4=8Cuki=C4=87. Committed on 08/04/2016 at 07:26. Pushed by ivan into branch 'master'. Checking whether the m_textTexture is not null before dereferencing it Summary: It can be null even after updateTextTexture() if there is not text to generate the texture from: if (m_effectFrame->text().isEmpty()) return; Reviewers: graesslin Reviewed By: graesslin Subscribers: plasma-devel Projects: #plasma Differential Revision: https://phabricator.kde.org/D1347 M +6 -3 scene_opengl.cpp M +6 -3 scene_xrender.cpp http://commits.kde.org/kwin/f06dff3390b6638b980266ac5676b2e7503f1ae8 diff --git a/scene_opengl.cpp b/scene_opengl.cpp index 886b966..95f6689 100644 --- a/scene_opengl.cpp +++ b/scene_opengl.cpp @@ -2099,9 +2099,12 @@ void SceneOpenGL::EffectFrame::render(QRegion region= , double opacity, double fra } if (!m_textTexture) // Lazy creation updateTextTexture(); - m_textTexture->bind(); - m_textTexture->render(region, m_effectFrame->geometry()); - m_textTexture->unbind(); + + if (m_textTexture) { + m_textTexture->bind(); + m_textTexture->render(region, m_effectFrame->geometry()); + m_textTexture->unbind(); + } } = if (shader) { diff --git a/scene_xrender.cpp b/scene_xrender.cpp index b5bb233..e8cfc13 100644 --- a/scene_xrender.cpp +++ b/scene_xrender.cpp @@ -926,9 +926,12 @@ void SceneXrender::EffectFrame::render(QRegion region,= double opacity, double fr if (!m_textPicture) { // Lazy creation updateTextPicture(); } - xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, *m_tex= tPicture, fill, effects->xrenderBufferPicture(), - 0, 0, 0, 0, m_effectFrame->geometry().x(), m_effe= ctFrame->geometry().y(), - m_effectFrame->geometry().width(), m_effectFrame-= >geometry().height()); + + if (m_textPicture) { + xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, *m= _textPicture, fill, effects->xrenderBufferPicture(), + 0, 0, 0, 0, m_effectFrame->geometry().x(), m_= effectFrame->geometry().y(), + m_effectFrame->geometry().width(), m_effectFr= ame->geometry().height()); + } } } =20