diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-02-16 17:02:52 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-02-17 15:45:01 +0100 |
commit | 734ec70f30340a7d943dc8121b51a2a24902a5c5 (patch) | |
tree | de1a3f164453fa7705b9b160e9b047954f3600a2 | |
parent | 0ba9ea50dcae6739e93f81dff762f2656054bb93 (diff) |
disconnect damage when target window is destroyed
Change-Id: I4b14ec12112e54bc913fe960808f0bbf8ba4bada
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88820
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkframe.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index ee32281378be..3165067028d5 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -3694,6 +3694,10 @@ void GtkSalFrame::signalDestroy( GtkWidget* pObj, gpointer frame ) GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame); if( pObj == pThis->m_pWindow ) { + pThis->m_aDamageHandler.damaged = nullptr; + pThis->m_aDamageHandler.handle = nullptr; + if (pThis->m_pSurface) + cairo_surface_set_user_data(pThis->m_pSurface, SvpSalGraphics::getDamageKey(), nullptr, nullptr); pThis->m_pFixedContainer = nullptr; pThis->m_pEventBox = nullptr; pThis->m_pTopLevelGrid = nullptr; |