diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-24 12:34:19 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-24 13:10:04 +0200 |
commit | dcf94ab56d9e5e9864965f56d27045e67b093fa4 (patch) | |
tree | f9bcb47417c70f2d4714362d8c90f1f43a560cee | |
parent | 28bc82d8dcc7a65e9c88ff311ac981d556a4896e (diff) |
tdf#92911 SwAnnotationWin rendercontext: fix missing comment contents
The problem was that when inserting a post-it comment, the Paint() is
triggered for SwEditWin, which then shares a RenderContext with its
children, and at the end paints the buffer to the vcl::Window of
SwEditWin. When painting this buffer, the contents of SwAnnotationWin
was missing, as the parent SwEditWin was not allowed to paint on that
area. No explicit clipping is set at the OutputDevice level, but
vcl::Window::ImplClipChildren() still calculates a clip region based on
the child windows for the underlying SalGraphics, and that prevented
SwEditWin to paint its buffer fully.
Fix the problem by explicitly disabling this clipping for
SwAnnotationWin in its ctor in the rendercontext case.
Change-Id: I5eb47c20070057a79297d91242624fc2057e2dfb
-rw-r--r-- | sw/source/uibase/docvw/AnnotationWin.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sw/source/uibase/docvw/AnnotationWin.cxx b/sw/source/uibase/docvw/AnnotationWin.cxx index 9ce682af86dd..efe88768a5a9 100644 --- a/sw/source/uibase/docvw/AnnotationWin.cxx +++ b/sw/source/uibase/docvw/AnnotationWin.cxx @@ -66,6 +66,10 @@ SwAnnotationWin::SwAnnotationWin( SwEditWin& rEditWin, , mpField( static_cast<SwPostItField*>(aField->GetField())) , mpButtonPopup(0) { + if (SupportsDoubleBuffering()) + // When double-buffering, allow parents to paint on our area. That's + // necessary when parents paint the complete buffer. + SetParentClipMode(ParentClipMode::NoClip); } SwAnnotationWin::~SwAnnotationWin() |