From 4f67a643a9331afe1a57cb63cc803518a3a28e5f Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 19 Sep 2012 21:09:37 +0200 Subject: [PATCH] don't try to draw frame parts with size < 0 --- framesvg.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/framesvg.cpp b/framesvg.cpp index 535e4e924..484f29dbb 100644 --- a/framesvg.cpp +++ b/framesvg.cpp @@ -844,22 +844,26 @@ void FrameSvgPrivate::generateFrameBackground(FrameData *frame) if (frame->stretchBorders) { if (frame->enabledBorders & FrameSvg::LeftBorder || frame->enabledBorders & FrameSvg::RightBorder) { if (q->hasElement(prefix % "left") && - frame->enabledBorders & FrameSvg::LeftBorder) { + frame->enabledBorders & FrameSvg::LeftBorder && + contentHeight > 0) { q->paint(&p, QRect(leftOffset, contentTop, frame->leftWidth, contentHeight), prefix % "left"); } if (q->hasElement(prefix % "right") && - frame->enabledBorders & FrameSvg::RightBorder) { + frame->enabledBorders & FrameSvg::RightBorder && + contentHeight > 0) { q->paint(&p, QRect(rightOffset, contentTop, frame->rightWidth, contentHeight), prefix % "right"); } } if (frame->enabledBorders & FrameSvg::TopBorder || frame->enabledBorders & FrameSvg::BottomBorder) { - if (frame->enabledBorders & FrameSvg::TopBorder && q->hasElement(prefix % "top")) { + if (frame->enabledBorders & FrameSvg::TopBorder && q->hasElement(prefix % "top") && + contentWidth > 0) { q->paint(&p, QRect(contentLeft, topOffset, contentWidth, frame->topHeight), prefix % "top"); } - if (frame->enabledBorders & FrameSvg::BottomBorder && q->hasElement(prefix % "bottom")) { + if (frame->enabledBorders & FrameSvg::BottomBorder && q->hasElement(prefix % "bottom") && + contentWidth > 0) { q->paint(&p, QRect(contentLeft, bottomOffset, contentWidth, frame->bottomHeight), prefix % "bottom"); } }