[metacity] compositor: pass MetaSurface to sync_window_geometry vfunc
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] compositor: pass MetaSurface to sync_window_geometry vfunc
- Date: Sat, 5 Oct 2019 17:53:17 +0000 (UTC)
commit 675210be78939ab2821366a75380010b7afcb85b
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Fri Oct 4 17:07:21 2019 +0300
compositor: pass MetaSurface to sync_window_geometry vfunc
src/compositor/meta-compositor-none.c | 2 +-
src/compositor/meta-compositor-private.h | 2 +-
src/compositor/meta-compositor-vulkan.c | 2 +-
src/compositor/meta-compositor-xrender.c | 8 ++++----
src/compositor/meta-compositor.c | 9 ++++++++-
5 files changed, 15 insertions(+), 8 deletions(-)
---
diff --git a/src/compositor/meta-compositor-none.c b/src/compositor/meta-compositor-none.c
index 954423c8..106b0a59 100644
--- a/src/compositor/meta-compositor-none.c
+++ b/src/compositor/meta-compositor-none.c
@@ -118,7 +118,7 @@ meta_compositor_none_sync_screen_size (MetaCompositor *compositor)
static void
meta_compositor_none_sync_window_geometry (MetaCompositor *compositor,
- MetaWindow *window)
+ MetaSurface *surface)
{
}
diff --git a/src/compositor/meta-compositor-private.h b/src/compositor/meta-compositor-private.h
index 0a839442..64b479f9 100644
--- a/src/compositor/meta-compositor-private.h
+++ b/src/compositor/meta-compositor-private.h
@@ -75,7 +75,7 @@ struct _MetaCompositorClass
void (* sync_screen_size) (MetaCompositor *compositor);
void (* sync_window_geometry) (MetaCompositor *compositor,
- MetaWindow *window);
+ MetaSurface *surface);
void (* pre_paint) (MetaCompositor *compositor);
diff --git a/src/compositor/meta-compositor-vulkan.c b/src/compositor/meta-compositor-vulkan.c
index b5491985..970034aa 100644
--- a/src/compositor/meta-compositor-vulkan.c
+++ b/src/compositor/meta-compositor-vulkan.c
@@ -1353,7 +1353,7 @@ meta_compositor_vulkan_sync_screen_size (MetaCompositor *compositor)
static void
meta_compositor_vulkan_sync_window_geometry (MetaCompositor *compositor,
- MetaWindow *window)
+ MetaSurface *surface)
{
}
diff --git a/src/compositor/meta-compositor-xrender.c b/src/compositor/meta-compositor-xrender.c
index f0a43582..9edf15ba 100644
--- a/src/compositor/meta-compositor-xrender.c
+++ b/src/compositor/meta-compositor-xrender.c
@@ -2764,18 +2764,18 @@ meta_compositor_xrender_sync_screen_size (MetaCompositor *compositor)
static void
meta_compositor_xrender_sync_window_geometry (MetaCompositor *compositor,
- MetaWindow *window)
+ MetaSurface *surface)
{
MetaCompositorXRender *xrender;
MetaCompWindow *cw;
+ MetaWindow *window;
MetaRectangle old_rect;
XserverRegion damage;
xrender = META_COMPOSITOR_XRENDER (compositor);
- cw = find_comp_window_by_window (xrender, window);
- if (cw == NULL)
- return;
+ cw = g_object_get_data (G_OBJECT (surface), "cw");
+ window = cw->window;
cw->needs_shadow = window_has_shadow (xrender, cw);
diff --git a/src/compositor/meta-compositor.c b/src/compositor/meta-compositor.c
index 1e0aa643..12d2380b 100644
--- a/src/compositor/meta-compositor.c
+++ b/src/compositor/meta-compositor.c
@@ -567,11 +567,18 @@ void
meta_compositor_sync_window_geometry (MetaCompositor *compositor,
MetaWindow *window)
{
+ MetaCompositorPrivate *priv;
MetaCompositorClass *compositor_class;
+ MetaSurface *surface;
+ priv = meta_compositor_get_instance_private (compositor);
compositor_class = META_COMPOSITOR_GET_CLASS (compositor);
- compositor_class->sync_window_geometry (compositor, window);
+ surface = g_hash_table_lookup (priv->surfaces, window);
+ if (surface == NULL)
+ return;
+
+ compositor_class->sync_window_geometry (compositor, surface);
}
gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]