diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-07-14 18:37:04 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-07-21 10:22:38 +0200 |
commit | fa5a1490a6d2af662117b60b4e53a783cc66f989 (patch) | |
tree | 6449e35b21c28db6f7d4010547848a700f142eb1 | |
parent | b0ef5ee39d3af9da10bb2ffcccea99e44664abdd (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.cxx | 9 | ||||
-rw-r--r-- | vcl/source/outdev/outdev.cxx | 7 |
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; |