summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-07-14 18:37:04 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-21 10:22:38 +0200
commitfa5a1490a6d2af662117b60b4e53a783cc66f989 (patch)
tree6449e35b21c28db6f7d4010547848a700f142eb1
parentb0ef5ee39d3af9da10bb2ffcccea99e44664abdd (diff)
vcl headless: ignore visibility in GetClientSize()
This fixes the missing-invalidation problem outlined in commit 22023b104cd1e024aecc28a6161bea519a584407 (vcl lok: fix missing paints due to zero-sized windows, 2016-07-12) also in Writer, not only in Impress. Starting text edit, doing a change, and ending text edit now results in the expected invalidations. Ignoring visibility seems to be a better fix for the missing paints. This way the headless case doesn't hit the corner cases of 0x0-sized windows. Also, the gtk vclplug's GetClientSize() only returns 0x0 in case the underlying window is disposed or it's minimized, but it does hand out the size before Show() is called, so now the headless backend is in sync with that. Change-Id: I78698cbfce954c8c593d279ab057a87cfbe87260 Reviewed-on: https://gerrit.libreoffice.org/27224 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit ac0b3b05ab52d0ac06137cf93d71187c7957ec99)
-rw-r--r--vcl/headless/svpframe.cxx9
-rw-r--r--vcl/source/outdev/outdev.cxx7
2 files changed, 2 insertions, 14 deletions
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index 4a48abbe6915..3adf2a3bc1cb 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -309,13 +309,8 @@ void SvpSalFrame::SetPosSize( long nX, long nY, long nWidth, long nHeight, sal_u
void SvpSalFrame::GetClientSize( long& rWidth, long& rHeight )
{
- if( m_bVisible )
- {
- rWidth = maGeometry.nWidth;
- rHeight = maGeometry.nHeight;
- }
- else
- rWidth = rHeight = 0;
+ rWidth = maGeometry.nWidth;
+ rHeight = maGeometry.nHeight;
}
void SvpSalFrame::GetWorkArea( Rectangle& rRect )
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 6f3be20869db..b7429f6a1ec9 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -107,13 +107,6 @@ OutputDevice::OutputDevice() :
mnOutOffY = 0;
mnOutWidth = 0;
mnOutHeight = 0;
- if (comphelper::LibreOfficeKit::isActive())
- {
- // Device size isn't set later in this case, and with zero size, we
- // miss paint events.
- mnOutWidth = 1;
- mnOutHeight = 1;
- }
mnDPIX = 0;
mnDPIY = 0;
mnDPIScaleFactor = 1;