aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/mi
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-04-08 09:26:12 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-06-25 00:39:26 +0200
commit8fab4afbb997f444906c09cbf3e028ead8ca1e84 (patch)
tree6c8044d35c1ba135796290596318a951ca9dbf73 /nx-X11/programs/Xserver/mi
parent148f750678eba0208341bb6aded9c2a766acccd3 (diff)
downloadnx-libs-8fab4afbb997f444906c09cbf3e028ead8ca1e84.tar.gz
nx-libs-8fab4afbb997f444906c09cbf3e028ead8ca1e84.tar.bz2
nx-libs-8fab4afbb997f444906c09cbf3e028ead8ca1e84.zip
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.
Diffstat (limited to 'nx-X11/programs/Xserver/mi')
-rw-r--r--nx-X11/programs/Xserver/mi/miwindow.c20
1 files changed, 19 insertions, 1 deletions
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)
{