summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compositor/meta-surface-private.h2
-rw-r--r--src/compositor/meta-surface-vulkan.c6
-rw-r--r--src/compositor/meta-surface-xrender.c6
-rw-r--r--src/compositor/meta-surface.c2
4 files changed, 16 insertions, 0 deletions
diff --git a/src/compositor/meta-surface-private.h b/src/compositor/meta-surface-private.h
index d1ae613d..799066c2 100644
--- a/src/compositor/meta-surface-private.h
+++ b/src/compositor/meta-surface-private.h
@@ -26,6 +26,8 @@ struct _MetaSurfaceClass
{
GObjectClass parent_class;
+ void (* show) (MetaSurface *self);
+
void (* hide) (MetaSurface *self);
void (* opacity_changed) (MetaSurface *self);
diff --git a/src/compositor/meta-surface-vulkan.c b/src/compositor/meta-surface-vulkan.c
index a17271fe..f106c004 100644
--- a/src/compositor/meta-surface-vulkan.c
+++ b/src/compositor/meta-surface-vulkan.c
@@ -26,6 +26,11 @@ struct _MetaSurfaceVulkan
G_DEFINE_TYPE (MetaSurfaceVulkan, meta_surface_vulkan, META_TYPE_SURFACE)
static void
+meta_surface_vulkan_show (MetaSurface *surface)
+{
+}
+
+static void
meta_surface_vulkan_hide (MetaSurface *surface)
{
}
@@ -52,6 +57,7 @@ meta_surface_vulkan_class_init (MetaSurfaceVulkanClass *self_class)
surface_class = META_SURFACE_CLASS (self_class);
+ surface_class->show = meta_surface_vulkan_show;
surface_class->hide = meta_surface_vulkan_hide;
surface_class->opacity_changed = meta_surface_vulkan_opacity_changed;
surface_class->free_pixmap = meta_surface_vulkan_free_pixmap;
diff --git a/src/compositor/meta-surface-xrender.c b/src/compositor/meta-surface-xrender.c
index 14819829..b7bc7b84 100644
--- a/src/compositor/meta-surface-xrender.c
+++ b/src/compositor/meta-surface-xrender.c
@@ -116,6 +116,11 @@ meta_surface_xrender_finalize (GObject *object)
}
static void
+meta_surface_xrender_show (MetaSurface *surface)
+{
+}
+
+static void
meta_surface_xrender_hide (MetaSurface *surface)
{
MetaSurfaceXRender *self;
@@ -168,6 +173,7 @@ meta_surface_xrender_class_init (MetaSurfaceXRenderClass *self_class)
object_class->finalize = meta_surface_xrender_finalize;
+ surface_class->show = meta_surface_xrender_show;
surface_class->hide = meta_surface_xrender_hide;
surface_class->opacity_changed = meta_surface_xrender_opacity_changed;
surface_class->free_pixmap = meta_surface_xrender_free_pixmap;
diff --git a/src/compositor/meta-surface.c b/src/compositor/meta-surface.c
index 096ee12f..04bb5350 100644
--- a/src/compositor/meta-surface.c
+++ b/src/compositor/meta-surface.c
@@ -341,6 +341,8 @@ meta_surface_show (MetaSurface *self)
* a valid pixmap when the window is unmapped.
*/
free_pixmap (self);
+
+ META_SURFACE_GET_CLASS (self)->show (self);
}
void