4796795
From cc695e3523901ba44fa7f0fa4c0b36018cb61246 Mon Sep 17 00:00:00 2001
4796795
From: raveit65 <mate@raveit.de>
4796795
Date: Tue, 2 May 2017 13:21:51 +0200
4796795
Subject: [PATCH] Revert "compositor: fix possible crash closing/destroying
4796795
 window"
4796795
4796795
This reverts commit 768fdd8d3852e67555a585da28b6404a97853cbd.
4796795
4796795
Possible fix for issue 251
4796795
---
4796795
 src/compositor/compositor-private.h |  3 ---
4796795
 src/compositor/compositor-xrender.c | 34 +++++++++-------------------------
4796795
 src/compositor/compositor.c         |  4 ----
4796795
 3 files changed, 9 insertions(+), 32 deletions(-)
4796795
4796795
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
4796795
index 1eef963..fed5e8e 100644
4796795
--- a/src/compositor/compositor-private.h
4796795
+++ b/src/compositor/compositor-private.h
4796795
@@ -55,9 +55,6 @@ struct _MetaCompositor
4796795
                              MetaScreen     *screen,
4796795
                              MetaWindow     *window);
4796795
 
4796795
-  void (*free_window) (MetaCompositor *compositor,
4796795
-                       MetaWindow     *window);
4796795
-
4796795
   void (*maximize_window)   (MetaCompositor *compositor,
4796795
                              MetaWindow     *window);
4796795
   void (*unmaximize_window) (MetaCompositor *compositor,
4796795
diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c
4796795
index 1da598c..c65a7eb 100644
4796795
--- a/src/compositor/compositor-xrender.c
4796795
+++ b/src/compositor/compositor-xrender.c
4796795
@@ -2694,38 +2694,23 @@ xrender_end_move (MetaCompositor *compositor,
4796795
 #ifdef HAVE_COMPOSITE_EXTENSIONS
4796795
 #endif
4796795
 }
4796795
-#endif /* 0 */
4796795
 
4796795
 static void
4796795
 xrender_free_window (MetaCompositor *compositor,
4796795
                      MetaWindow     *window)
4796795
 {
4796795
 #ifdef HAVE_COMPOSITE_EXTENSIONS
4796795
-  MetaCompositorXRender *xrc;
4796795
-  MetaFrame *frame;
4796795
-  Window xwindow;
4796795
-
4796795
-  xrc = (MetaCompositorXRender *) compositor;
4796795
-  frame = meta_window_get_frame (window);
4796795
-  xwindow = None;
4796795
-
4796795
-  if (frame)
4796795
-    {
4796795
-      xwindow = meta_frame_get_xwindow (frame);
4796795
-    }
4796795
-  else
4796795
-    {
4796795
-      /* FIXME: When an undecorated window is hidden this is called, but the
4796795
-       * window does not get readded if it is subsequentally shown again. See:
4796795
-       * http://bugzilla.gnome.org/show_bug.cgi?id=504876
4796795
-       */
4796795
-      /* xwindow = meta_window_get_xwindow (window); */
4796795
-    }
4796795
-
4796795
-  if (xwindow != None)
4796795
-    destroy_win (xrc->display, xwindow, FALSE);
4796795
+  /* FIXME: When an undecorated window is hidden this is called,
4796795
+     but the window does not get readded if it is subsequentally shown again
4796795
+     See http://bugzilla.gnome.org/show_bug.cgi?id=504876
4796795
+
4796795
+     I don't *think* theres any need for this call anyway, leaving it out
4796795
+     does not seem to cause any side effects so far, but I should check with
4796795
+     someone who understands more. */
4796795
+  /* destroy_win (compositor->display, window->xwindow, FALSE); */
4796795
 #endif
4796795
 }
4796795
+#endif /* 0 */
4796795
 
4796795
 static void
4796795
 xrender_process_event (MetaCompositor *compositor,
4796795
@@ -3052,7 +3037,6 @@ static MetaCompositor comp_info = {
4796795
   xrender_get_window_pixmap,
4796795
 #endif
4796795
   xrender_set_active_window,
4796795
-  xrender_free_window,
4796795
   xrender_maximize_window,
4796795
   xrender_unmaximize_window,
4796795
 };
4796795
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
4796795
index 4d3f370..263606e 100644
4796795
--- a/src/compositor/compositor.c
4796795
+++ b/src/compositor/compositor.c
4796795
@@ -172,10 +172,6 @@ void meta_compositor_end_move (MetaCompositor *compositor,
4796795
 void meta_compositor_free_window (MetaCompositor *compositor,
4796795
                                   MetaWindow     *window)
4796795
 {
4796795
-#ifdef HAVE_COMPOSITE_EXTENSIONS
4796795
-  if (compositor && compositor->free_window)
4796795
-    compositor->free_window (compositor, window);
4796795
-#endif
4796795
 }
4796795
 
4796795
 void
4796795
-- 
4796795
2.12.2
4796795