D7888: Make sure OpenGL Context is valid before deleting shader

Martin Flöser noreply at phabricator.kde.org
Wed Sep 20 15:48:22 UTC 2017


graesslin added inline comments.

INLINE COMMENTS

> davidedmundson wrote in scene_opengl.cpp:1191-1194
> changed is called from a timer, so we can be pretty confident that we're called mid-doing anything else, but I'm happy to do something else?
> 
> to be clear are you suggesting we:
> 
> - makeOpenGLContextCurrent() but then don't call doneOpenGLContextCurrent?
> 
> or
> 
> - set a flag, and delete it next perfectPaintWindow
> 
> or
> 
> - something completely different
> 
> Note that I have this same pattern in my BlurEffect mod I phab'd yesterday, so I'll make that follow this.

best would be if we knew that the context is current. But that's unfortunately wishful thinking.

My suggestion would be to do your option 1:

> makeOpenGLContextCurrent() but then don't call doneOpenGLContextCurrent?

In the good old days of pre-Qt5 KWin made the context current exactly once and then never called done. This changed with QtQuick also making a context current. So IIRC we can just make it current but don't have to call done. But I'm not 100 % sure.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D7888

To: davidedmundson, #plasma, graesslin
Cc: graesslin, plasma-devel, kwin, #kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170920/dcc61050/attachment.html>


More information about the Plasma-devel mailing list