I get a flicker when first creating a calc window. This is because the Sdr idle handler: > vcllo.dll!OpenGLSalGraphicsImpl::flush() Line 2001 C++ vcllo.dll!OpenGLSalGraphicsImpl::PostDraw() Line 246 C++ vcllo.dll!OpenGLSalGraphicsImpl::DoCopyBits(const SalTwoRect & rPosAry, OpenGLSalGraphicsImpl & rImpl) Line 1664 C++ vcllo.dll!WinOpenGLSalGraphicsImpl::copyBits(const SalTwoRect & rPosAry, SalGraphics * pSrcGraphics) Line 27 C++ vcllo.dll!WinSalGraphics::copyBits(const SalTwoRect & rPosAry, SalGraphics * pSrcGraphics) Line 63 C++ vcllo.dll!SalGraphics::CopyBits(const SalTwoRect & rPosAry, SalGraphics * pSrcGraphics, const OutputDevice * pOutDev, const OutputDevice * pSrcOutDev) Line 590 C++ vcllo.dll!OutputDevice::drawOutDevDirect(const OutputDevice * pSrcDev, SalTwoRect & rPosAry) Line 720 C++ vcllo.dll!OutputDevice::DrawOutDev(const Point & rDestPt, const Size & rDestSize, const Point & rSrcPt, const Size & rSrcSize, const OutputDevice & rOutDev) Line 595 C++ svxcorelo.dll!sdr::overlay::OverlayManagerBuffered::ImpBufferTimerHandler(Idle * __formal) Line 326 C++ svxcorelo.dll!sdr::overlay::OverlayManagerBuffered::LinkStubImpBufferTimerHandler(void * instance, Idle * data) Line 209 C++ vcllo.dll!Link<Idle *,void>::Call(Idle * data) Line 84 C++ vcllo.dll!Idle::Invoke() Line 26 C++ vcllo.dll!ImplSchedulerData::Invoke() Line 41 C++ vcllo.dll!Scheduler::ProcessTaskScheduling(bool bTimerOnly) Line 171 C++ vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents, const unsigned long nReleased) Line 519 C++ vcllo.dll!Application::Yield() Line 535 C++ vcllo.dll!Application::Execute() Line 471 C++ sofficeapp.dll!desktop::Desktop::DoExecute() Line 1292 C++ sofficeapp.dll!desktop::Desktop::Main() Line 1611 C++ vcllo.dll!ImplSVMain() Line 170 C++ vcllo.dll!SVMain() Line 208 C++ sofficeapp.dll!soffice_main() Line 96 C++ soffice_real.exe!sal_main() Line 48 C soffice_real.exe!main(int argc, char * * argv) Line 47 C soffice_real.exe!WinMain(void * _hinst, void * _dummy, char * _cmdline, int _nshow) Line 47 C soffice_real.exe!__tmainCRTStartup() Line 618 C soffice_real.exe!WinMainCRTStartup() Line 466 C kernel32.dll!@BaseThreadInitThunk@12() Unknown ntdll.dll!___RtlUserThreadStart@8() Unknown ntdll.dll!__RtlUserThreadStart@8() Unknown Has a higher priority than the re-paint method; which is far from ideal.
We need a new priority that is just behind REPAINT to ensure the sequencing here - and without mis-interacting with lots of other tasks at rather lower priorities I think. Ideally we'd replace MEDIUM with its own slot too.
https://gerrit.libreoffice.org/21400 should fix this.
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=16c7f8916661df24f4681ec82f6bd4d7ad85d141 tdf#97075 - don't render sdr overlays before we paint. It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-5-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=928a7a3e92e085a880ecf0d3ad5e40d41b7779bf&h=libreoffice-5-1 tdf#97075 - don't render sdr overlays before we paint. It will be available in 5.1.0.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
*** Bug 97074 has been marked as a duplicate of this bug. ***