summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-08-30 17:00:46 +0200
committerMiklos Vajna <vmiklos@collabora.com>2019-08-30 17:50:14 +0200
commita40fbd031de042b0181dc5570164ae8ce0abb0f1 (patch)
treef95b431ee61c16c95ced0e5d9f926d8165413923
parente607beeed1b391ee2a622494700d78d68dd2868f (diff)
tdf#127211 Revert "tdf#71087 sfx2: avoid flicker in the start center"
This reverts commit d5c7657c541c1f6d17bfe5e605594c235eecfcdb. By the time I created that, I forgot to test the case when there are no recent documents. I'm not exactly sure how to fix that, so just go back to the old behavior for now (trading a regression for a normal bug). Change-Id: I8abc251a3e6506ca17429ba106e2dd70fff31556 Reviewed-on: https://gerrit.libreoffice.org/78301 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
-rw-r--r--sfx2/source/dialog/backingcomp.cxx10
-rw-r--r--vcl/source/control/button.cxx10
-rw-r--r--vcl/source/window/bufferdevice.cxx2
-rw-r--r--vcl/source/window/bufferdevice.hxx1
-rw-r--r--vcl/source/window/menubarwindow.cxx16
5 files changed, 2 insertions, 37 deletions
diff --git a/sfx2/source/dialog/backingcomp.cxx b/sfx2/source/dialog/backingcomp.cxx
index dea33fa1698f..eb29da210fcc 100644
--- a/sfx2/source/dialog/backingcomp.cxx
+++ b/sfx2/source/dialog/backingcomp.cxx
@@ -576,12 +576,6 @@ void SAL_CALL BackingComp::dispose()
{
m_xWindow->removeEventListener(this);
m_xWindow->removeKeyListener(this);
- VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(m_xWindow);
- auto pBack = dynamic_cast<BackingWindow*>(pWindow.get());
- if (pBack)
- {
- pBack->RequestDoubleBuffering(false);
- }
m_xWindow.clear();
}
@@ -666,10 +660,6 @@ void SAL_CALL BackingComp::initialize( /*IN*/ const css::uno::Sequence< css::uno
// create the component window
VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow(xParentWindow);
VclPtr<vcl::Window> pWindow = VclPtr<BackingWindow>::Create(pParent);
- if (!pWindow->IsNativeControlSupported(ControlType::Pushbutton, ControlPart::Focus))
- {
- pWindow->RequestDoubleBuffering(true);
- }
m_xWindow = VCLUnoHelper::GetInterface(pWindow);
if (!m_xWindow.is())
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index ad70daed0d15..ffad8810efac 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -1080,13 +1080,7 @@ void PushButton::ImplDrawPushButton(vcl::RenderContext& rRenderContext)
aInRect, bDrawMenuSep, nButtonStyle);
if (HasFocus())
- {
ShowFocus(ImplGetFocusRect());
- if (SupportsDoubleBuffering())
- {
- rRenderContext.Invert(ImplGetFocusRect(), InvertFlags::TrackFrame);
- }
- }
}
if (!bNativeOK)
@@ -1113,10 +1107,6 @@ void PushButton::ImplDrawPushButton(vcl::RenderContext& rRenderContext)
if (HasFocus())
{
ShowFocus(ImplGetFocusRect());
- if (SupportsDoubleBuffering())
- {
- rRenderContext.Invert(ImplGetFocusRect(), InvertFlags::TrackFrame);
- }
}
}
}
diff --git a/vcl/source/window/bufferdevice.cxx b/vcl/source/window/bufferdevice.cxx
index ccdf5415fb6b..d1480588d48f 100644
--- a/vcl/source/window/bufferdevice.cxx
+++ b/vcl/source/window/bufferdevice.cxx
@@ -31,8 +31,6 @@ BufferDevice::~BufferDevice()
vcl::RenderContext* BufferDevice::operator->() { return m_pBuffer.get(); }
vcl::RenderContext& BufferDevice::operator*() { return *m_pBuffer; }
-
-vcl::RenderContext& BufferDevice::GetRenderContext() { return *m_pBuffer; }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/bufferdevice.hxx b/vcl/source/window/bufferdevice.hxx
index 75e89f92e657..26bf28e615fa 100644
--- a/vcl/source/window/bufferdevice.hxx
+++ b/vcl/source/window/bufferdevice.hxx
@@ -25,7 +25,6 @@ class BufferDevice
public:
BufferDevice(const VclPtr<vcl::Window>& pWindow, vcl::RenderContext& rRenderContext);
~BufferDevice();
- vcl::RenderContext& GetRenderContext();
vcl::RenderContext* operator->();
vcl::RenderContext& operator*();
diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx
index e9d93765bb9a..040385d5cf9b 100644
--- a/vcl/source/window/menubarwindow.cxx
+++ b/vcl/source/window/menubarwindow.cxx
@@ -913,20 +913,8 @@ void MenuBarWindow::Paint(vcl::RenderContext& rRenderContext, const tools::Recta
return;
}
- vcl::RenderContext* pBuffer = nullptr;
- std::unique_ptr<vcl::BufferDevice> pBufferDevice;
- if (SupportsDoubleBuffering())
- {
- // No need to buffer twice, just set up the background.
- pBuffer = &rRenderContext;
- pBuffer->Erase(tools::Rectangle(Point(GetOutOffXPixel(), GetOutOffYPixel()), GetOutputSizePixel()));
- }
- else
- {
- // Make sure that all actual rendering happens in one go to avoid flicker.
- pBufferDevice.reset(new vcl::BufferDevice(this, rRenderContext));
- pBuffer = &pBufferDevice->GetRenderContext();
- }
+ // Make sure that all actual rendering happens in one go to avoid flicker.
+ vcl::BufferDevice pBuffer(this, rRenderContext);
if (rRenderContext.IsNativeControlSupported(ControlType::Menubar, ControlPart::Entire))
{