summaryrefslogtreecommitdiff
path: root/svx/source/sdr
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2005-03-07 16:32:58 +0000
committerVladimir Glazounov <vg@openoffice.org>2005-03-07 16:32:58 +0000
commita2200b4f708e20f73f7492bb440d1cd2a00129c6 (patch)
tree153e4b3939bb3e87854171e00cb6a817c1a43076 /svx/source/sdr
parent6eb1d135a6be0f1c98a1aaa39f240cee35dd6390 (diff)
INTEGRATION: CWS aw028 (1.7.178); FILE MERGED
2005/02/24 21:30:00 aw 1.7.178.1: #i42815#
Diffstat (limited to 'svx/source/sdr')
-rw-r--r--svx/source/sdr/contact/viewobjectcontact.cxx24
1 files changed, 18 insertions, 6 deletions
diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx b/svx/source/sdr/contact/viewobjectcontact.cxx
index 5cda605e4b2a..87a33489093c 100644
--- a/svx/source/sdr/contact/viewobjectcontact.cxx
+++ b/svx/source/sdr/contact/viewobjectcontact.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: viewobjectcontact.cxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: rt $ $Date: 2004-12-13 08:55:29 $
+ * last change: $Author: vg $ $Date: 2005-03-07 17:32:58 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -439,11 +439,23 @@ namespace sdr
}
else
{
- // invalidate last paint area
- GetObjectContact().InvalidatePartOfView(GetPaintedRectangle());
+ // #i42815#
+ if(GetObjectContact().IsAreaVisible(GetPaintedRectangle()))
+ {
+ // invalidate last paint area
+ GetObjectContact().InvalidatePartOfView(GetPaintedRectangle());
- // change state to invalidated
- mbIsInvalidated = sal_True;
+ // change state to invalidated
+ mbIsInvalidated = sal_True;
+ }
+ else
+ {
+ // #i42815#
+ // to-be-invalidated area is not visible in view, so object is painted
+ // but out of display region, e.g. scrolled out without redraw. In that
+ // case, give redraw a chance by checking if its new position gets visible
+ GetObjectContact().ObjectGettingPotentiallyVisible(*this);
+ }
}
}
else