summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiemm/oimagescrollview.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp
index a8165a4..73df3ff 100644
--- a/libopie2/opiemm/oimagescrollview.cpp
+++ b/libopie2/opiemm/oimagescrollview.cpp
@@ -446,2 +446,3 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip
}
+
if (w>_pdata.width()) {
@@ -453,2 +454,3 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip
}
+
if (h>_pdata.height()) {
@@ -460,7 +462,20 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip
}
- if (erase||_original_data.hasAlphaBuffer()) {
+
+ if (erase||_original_data.hasAlphaBuffer()||clipy>_pdata.height()||clipx>_pdata.width()) {
+ odebug << QSize(clipx,clipy) << " # " << QSize(clipw,cliph) << oendl;
p->fillRect(clipx,clipy,clipw,cliph, backgroundColor());
}
+ odebug << QSize(x,y) << " - " << QSize(w,h) << oendl;
+ if (clipy<=_pdata.height()&&clipx<=_pdata.width()) {
+#if 0
+ odebug << "painting image content" << oendl;
+#endif
p->drawPixmap(clipx,clipy,_pdata,x,y,w,h);
}
+#if 0
+else {
+ odebug << "not painting image content" << oendl;
+ }
+#endif
+}