From a97fd51f9062e9bab8336baf2da35219fc72d4d3 Mon Sep 17 00:00:00 2001
From: raveit65 <mate@raveit.de>
Date: Mon, 1 May 2017 14:35:34 +0200
Subject: [PATCH] Revert "compositor: fix possible crash closing/destroying
window"
This reverts commit 768fdd8d3852e67555a585da28b6404a97853cbd.
fixes probably "strange window switching foreground/background behavior"
issue 251
---
src/compositor/compositor-private.h | 3 ---
src/compositor/compositor-xrender.c | 34 +++++++++-------------------------
src/compositor/compositor.c | 4 ----
3 files changed, 9 insertions(+), 32 deletions(-)
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
index 1fa6469..fcb1518 100644
--- a/src/compositor/compositor-private.h
+++ b/src/compositor/compositor-private.h
@@ -50,9 +50,6 @@ struct _MetaCompositor
MetaScreen *screen,
MetaWindow *window);
- void (*free_window) (MetaCompositor *compositor,
- MetaWindow *window);
-
void (*maximize_window) (MetaCompositor *compositor,
MetaWindow *window);
void (*unmaximize_window) (MetaCompositor *compositor,
diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c
index 4ad4a6a..04e89f6 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -2692,38 +2692,23 @@ xrender_end_move (MetaCompositor *compositor,
#ifdef HAVE_COMPOSITE_EXTENSIONS
#endif
}
-#endif /* 0 */
static void
xrender_free_window (MetaCompositor *compositor,
MetaWindow *window)
{
#ifdef HAVE_COMPOSITE_EXTENSIONS
- MetaCompositorXRender *xrc;
- MetaFrame *frame;
- Window xwindow;
-
- xrc = (MetaCompositorXRender *) compositor;
- frame = meta_window_get_frame (window);
- xwindow = None;
-
- if (frame)
- {
- xwindow = meta_frame_get_xwindow (frame);
- }
- else
- {
- /* FIXME: When an undecorated window is hidden this is called, but the
- * window does not get readded if it is subsequentally shown again. See:
- * http://bugzilla.gnome.org/show_bug.cgi?id=504876
- */
- /* xwindow = meta_window_get_xwindow (window); */
- }
-
- if (xwindow != None)
- destroy_win (xrc->display, xwindow, FALSE);
+ /* FIXME: When an undecorated window is hidden this is called,
+ but the window does not get readded if it is subsequentally shown again
+ See http://bugzilla.gnome.org/show_bug.cgi?id=504876
+
+ I don't *think* theres any need for this call anyway, leaving it out
+ does not seem to cause any side effects so far, but I should check with
+ someone who understands more. */
+ /* destroy_win (compositor->display, window->xwindow, FALSE); */
#endif
}
+#endif /* 0 */
static void
xrender_process_event (MetaCompositor *compositor,
@@ -3023,7 +3008,6 @@ static MetaCompositor comp_info = {
xrender_process_event,
xrender_get_window_surface,
xrender_set_active_window,
- xrender_free_window,
xrender_maximize_window,
xrender_unmaximize_window,
};
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 39344e8..7e3c79c 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -156,10 +156,6 @@ void meta_compositor_end_move (MetaCompositor *compositor,
void meta_compositor_free_window (MetaCompositor *compositor,
MetaWindow *window)
{
-#ifdef HAVE_COMPOSITE_EXTENSIONS
- if (compositor && compositor->free_window)
- compositor->free_window (compositor, window);
-#endif
}
void
--
2.12.2