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