[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kwin] /: Checking whether the m_textTexture is not null before dereferencing it
From:       Ivan Čukić <ivan.cukic () kde ! org>
Date:       2016-04-08 7:26:18
Message-ID: E1aoQo6-0002o7-8E () scm ! kde ! org
[Download RAW message or body]

Git commit f06dff3390b6638b980266ac5676b2e7503f1ae8 by Ivan Čukić.
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_textPicture, \
                fill, effects->xrenderBufferPicture(),
-                         0, 0, 0, 0, m_effectFrame->geometry().x(), \
                m_effectFrame->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_effectFrame->geometry().height()); +        }
     }
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic