-rw-r--r-- | korganizer/koagendaitem.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index 5ee433a..7e6fa48 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -470,6 +470,7 @@ void KOAgendaItem::paintEvent ( QPaintEvent *e ) | |||
470 | else | 470 | else |
471 | yy = mCellYTop * ( height() / cellHeight() ); | 471 | yy = mCellYTop * ( height() / cellHeight() ); |
472 | int xx = x(); | 472 | int xx = x(); |
473 | |||
473 | if ( xPaintCoord != xx || yPaintCoord != yy || | 474 | if ( xPaintCoord != xx || yPaintCoord != yy || |
474 | wPaintCoord != width() || hPaintCoord != height()) { | 475 | wPaintCoord != width() || hPaintCoord != height()) { |
475 | xPaintCoord= xx; | 476 | xPaintCoord= xx; |
@@ -497,7 +498,26 @@ void KOAgendaItem::paintEvent ( QPaintEvent *e ) | |||
497 | else | 498 | else |
498 | paintFrom = paintPix(); | 499 | paintFrom = paintPix(); |
499 | } | 500 | } |
500 | bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP); | 501 | xx += rx; |
502 | |||
503 | if ( xx < 0 ) { | ||
504 | rw = rw + xx; | ||
505 | rx -= xx; | ||
506 | xx = 0; | ||
507 | if ( rw < 0 ) { | ||
508 | qDebug("KOAgendaItem::Width1 < 0. Returning "); | ||
509 | return; | ||
510 | } | ||
511 | } | ||
512 | if ( paintFrom->width() < xx+rw ) { | ||
513 | rw = paintFrom->width() - xx; | ||
514 | if ( rw < 0 ) { | ||
515 | qDebug("KOAgendaItem::Width2 < 0. Returning "); | ||
516 | return; | ||
517 | } | ||
518 | } | ||
519 | //qDebug("%d %d %d %d %d %d %d",rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh); | ||
520 | bitBlt (this, rx, ry, paintFrom, xx ,yPaintCoord+ry, rw, rh ,CopyROP); | ||
501 | } | 521 | } |
502 | void KOAgendaItem::computeText() | 522 | void KOAgendaItem::computeText() |
503 | { | 523 | { |