From eb411b9eea6ad06d0fcd7695ec6346cbdf26a314 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Tue, 18 Jun 2002 08:29:34 +0000 Subject: [PATCH] Set the clear region to be the update region if the update region is non-empty but the clear region is empty, because otherwise we're going to clear more than we repaint git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/window.cpp | 8 ++++++++ src/gtk1/window.cpp | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index eab8a8917f..2deaff54fe 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -3454,6 +3454,14 @@ void wxWindowGTK::GtkSendPaintEvents() else // if (!m_clearRegion.IsEmpty()) // always send an erase event { + // If the clear region is empty, and the update region isn't, + // then we're going to clear more than we repaint, + // so let's make sure the two regions are in sync. + if (m_clearRegion.IsEmpty() && !m_updateRegion.IsEmpty()) + { + m_clearRegion = m_updateRegion ; + } + wxWindowDC dc( (wxWindow*)this ); dc.SetClippingRegion( m_clearRegion ); diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index eab8a8917f..2deaff54fe 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -3454,6 +3454,14 @@ void wxWindowGTK::GtkSendPaintEvents() else // if (!m_clearRegion.IsEmpty()) // always send an erase event { + // If the clear region is empty, and the update region isn't, + // then we're going to clear more than we repaint, + // so let's make sure the two regions are in sync. + if (m_clearRegion.IsEmpty() && !m_updateRegion.IsEmpty()) + { + m_clearRegion = m_updateRegion ; + } + wxWindowDC dc( (wxWindow*)this ); dc.SetClippingRegion( m_clearRegion ); -- 2.45.2