From 4a69ffb5c099740a175c3650073ac84abb103f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Wed, 27 Feb 2013 12:56:38 +0100 Subject: [PATCH] Do not use QPixmap::x11PictureHandle() to render shadow elements The QPixmap's are wrapped using XRenderPicture. --- scene_xrender.cpp | 28 +++++++++++++++++++++++----- scene_xrender.h | 7 ++++--- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/scene_xrender.cpp b/scene_xrender.cpp index eebdf801de..b37cdec324 100644 --- a/scene_xrender.cpp +++ b/scene_xrender.cpp @@ -611,7 +611,7 @@ void SceneXrender::Window::performPaint(int mask, QRegion region, WindowPaintDat for (PaintClipper::Iterator iterator; !iterator.isDone(); iterator.next()) { #define RENDER_SHADOW_TILE(_TILE_, _RECT_) \ -XRenderComposite(display(), PictOpOver, m_xrenderShadow->shadowPixmap(SceneXRenderShadow::ShadowElement##_TILE_).x11PictureHandle(), \ +xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, m_xrenderShadow->picture(SceneXRenderShadow::ShadowElement##_TILE_), \ shadowAlpha, renderTarget, 0, 0, 0, 0, _RECT_.x(), _RECT_.y(), _RECT_.width(), _RECT_.height()) //shadow @@ -976,10 +976,16 @@ void SceneXrender::EffectFrame::updateTextPicture() SceneXRenderShadow::SceneXRenderShadow(Toplevel *toplevel) :Shadow(toplevel) { + for (int i=0; i