summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2019-12-02 11:08:12 -0500
committerVictor Kareh <[email protected]>2019-12-06 10:09:07 -0500
commitd0b6c3b1d2498031d4d50644a4bc5eece6a4aa4d (patch)
treecaf202c5ffc7f881df246064a53283a548cb7a09
parentaf17e33e008e948e25e3df5dbe0931d0c1cf8908 (diff)
downloadmarco-d0b6c3b1d2498031d4d50644a4bc5eece6a4aa4d.tar.bz2
marco-d0b6c3b1d2498031d4d50644a4bc5eece6a4aa4d.tar.xz
Revert "compositor: fix possible crash closing/destroying window"
This reverts commit df56628979abc17474b001c58c28c6f3637ada9d. It causes an issue where windows remain in the background even when being drawn in the foreground.
-rw-r--r--src/compositor/compositor-private.h3
-rw-r--r--src/compositor/compositor-xrender.c34
-rw-r--r--src/compositor/compositor.c4
3 files changed, 9 insertions, 32 deletions
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
index 1fa64695..fcb15187 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 abcf51ae..dc7ac15f 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -3040,38 +3040,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,
@@ -3375,7 +3360,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 39344e82..7e3c79c2 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