diff --git a/xbmc/guilib/GUIControl.cpp b/xbmc/guilib/GUIControl.cpp index 624df972796..7d88f122d60 100644 --- a/xbmc/guilib/GUIControl.cpp +++ b/xbmc/guilib/GUIControl.cpp @@ -184,6 +184,12 @@ void CGUIControl::DoRender() !m_renderRegion.Intersects(CServiceBroker::GetWinSystem()->GetGfxContext().GetScissors())) return; + CRect hitRect(m_hitRect); + hitRect.Intersect(CServiceBroker::GetWinSystem()->GetGfxContext().GetScissors()); + + if (hitRect.IsEmpty()) + return; + if (IsVisible() && !m_isCulled) { bool hasStereo = @@ -204,7 +210,7 @@ void CGUIControl::DoRender() { KODI::UTILS::COLOR::Color color = CServiceBroker::GetWinSystem()->GetGfxContext().MergeAlpha(m_hitColor); - CGUITexture::DrawQuad(CServiceBroker::GetWinSystem()->GetGfxContext().GenerateAABB(m_hitRect), color); + CGUITexture::DrawQuad(CServiceBroker::GetWinSystem()->GetGfxContext().GenerateAABB(hitRect), color); } Render();