From 8fab4afbb997f444906c09cbf3e028ead8ca1e84 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 8 Apr 2016 09:26:12 +0200 Subject: hw/nxagent/NXmiwindow.c: Drop complete file. Reasoning: (1) The diff between this file and mi/miwindow.c is so minimal, we simply apply the change to mi/miwindow.c. (2) In recent X.org, the fixed code has gone, so this patch won't exist after having rebased nx-libs against X.org. --- nx-X11/programs/Xserver/mi/miwindow.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/mi') diff --git a/nx-X11/programs/Xserver/mi/miwindow.c b/nx-X11/programs/Xserver/mi/miwindow.c index 198f765dd..aff7128c3 100644 --- a/nx-X11/programs/Xserver/mi/miwindow.c +++ b/nx-X11/programs/Xserver/mi/miwindow.c @@ -1048,7 +1048,25 @@ miSetShape(pWin) bsExposed = (*pScreen->TranslateBackingStore) (pWin, 0, 0, pOldClip, pWin->drawable.x, pWin->drawable.y); - if (WasViewable) + + /* + * Applies to NXAGENT_SERVER builds: + * + * We got a few, rare, segfaults here after having + * started using the backing store. It may be a + * different bug but miChangeSaveUnder() calls mi- + * CheckSubSaveUnder() that, in turn, can change + * the backing store attribute of the window. This + * means that we may try to destroy the region + * even if it was not created at the beginning of + * this function as, at the time, the backing store + * was off. miCheckSubSaveUnder() appear to get a + * pointer to the parent, so maybe doesn't change + * the attribute of the window itself. This is to + * be better investigated. + */ + + if (WasViewable && pOldClip) RegionDestroy(pOldClip); if (bsExposed) { -- cgit v1.2.3