summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraveit65 <[email protected]>2017-05-01 14:35:34 +0200
committerraveit65 <[email protected]>2017-05-10 16:22:13 +0200
commit38940edf002a137a7e6c041462d334967fd9ff29 (patch)
tree1322bf8668b6c4f16816706bdb378f80cf6f8b46
parent6d9adde1f91d399f5e429f9f09f996aecb7cfa35 (diff)
downloadmarco-38940edf002a137a7e6c041462d334967fd9ff29.tar.bz2
marco-38940edf002a137a7e6c041462d334967fd9ff29.tar.xz
Revert "compositor: fix possible crash closing/destroying window"
This reverts commit 768fdd8d3852e67555a585da28b6404a97853cbd. fixes probably "strange window switching foreground/background behavior" https://github.com/mate-desktop/marco/issues/251
-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 4ad4a6aa..04e89f66 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 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