diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-26 11:34:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-26 11:34:49 +0200 |
commit | fecb971518675254c26757c279ff971985cd2d2d (patch) | |
tree | 895833a5b0bf14b391d1c216afde4cbe095ed807 /include | |
parent | 25dddc0094f5607c40f2ec502c5c2543b4e96163 (diff) | |
parent | 449f06556aa9550540c37af0cae0d6902b29f204 (diff) |
Merge pull request #902 from emersion/various-memory-leaks
Various memory leaks
Diffstat (limited to 'include')
-rw-r--r-- | include/wlr/render/interface.h | 6 | ||||
-rw-r--r-- | include/wlr/render/wlr_renderer.h | 10 | ||||
-rw-r--r-- | include/wlr/types/wlr_compositor.h | 4 | ||||
-rw-r--r-- | include/wlr/types/wlr_region.h | 3 | ||||
-rw-r--r-- | include/wlr/types/wlr_surface.h | 4 |
5 files changed, 15 insertions, 12 deletions
diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index 9dbe7247..e7cdce0a 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -11,12 +11,6 @@ #include <wlr/types/wlr_linux_dmabuf.h> #include <wlr/types/wlr_output.h> -struct wlr_renderer_impl; - -struct wlr_renderer { - const struct wlr_renderer_impl *impl; -}; - struct wlr_renderer_impl { void (*begin)(struct wlr_renderer *renderer, uint32_t width, uint32_t height); diff --git a/include/wlr/render/wlr_renderer.h b/include/wlr/render/wlr_renderer.h index eb365762..21f9c16c 100644 --- a/include/wlr/render/wlr_renderer.h +++ b/include/wlr/render/wlr_renderer.h @@ -6,9 +6,15 @@ #include <wlr/render/wlr_texture.h> #include <wlr/types/wlr_box.h> -struct wlr_output; +struct wlr_renderer_impl; -struct wlr_renderer; +struct wlr_renderer { + const struct wlr_renderer_impl *impl; + + struct { + struct wl_signal destroy; + } events; +}; void wlr_renderer_begin(struct wlr_renderer *r, int width, int height); void wlr_renderer_end(struct wlr_renderer *r); diff --git a/include/wlr/types/wlr_compositor.h b/include/wlr/types/wlr_compositor.h index 816ff713..f6be0a74 100644 --- a/include/wlr/types/wlr_compositor.h +++ b/include/wlr/types/wlr_compositor.h @@ -9,13 +9,15 @@ struct wlr_surface; struct wlr_subcompositor { struct wl_global *wl_global; struct wl_list wl_resources; + struct wl_list subsurface_resources; }; struct wlr_compositor { struct wl_global *wl_global; struct wl_list wl_resources; struct wlr_renderer *renderer; - struct wl_list surfaces; + struct wl_list surface_resources; + struct wl_list region_resources; struct wlr_subcompositor subcompositor; diff --git a/include/wlr/types/wlr_region.h b/include/wlr/types/wlr_region.h index ffacea72..a79ab61d 100644 --- a/include/wlr/types/wlr_region.h +++ b/include/wlr/types/wlr_region.h @@ -8,8 +8,7 @@ struct wl_resource; /* * Implements the given resource as region. */ -void wlr_region_create(struct wl_client *client, struct wl_resource *res, - uint32_t id); +struct wl_resource *wlr_region_create(struct wl_client *client, uint32_t id); pixman_region32_t *wlr_region_from_resource(struct wl_resource *resource); diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h index 35d47926..5ff9996d 100644 --- a/include/wlr/types/wlr_surface.h +++ b/include/wlr/types/wlr_surface.h @@ -93,6 +93,8 @@ struct wlr_surface { // wlr_subsurface::parent_pending_link struct wl_list subsurface_pending_list; + struct wl_listener renderer_destroy; + void *data; }; @@ -121,7 +123,7 @@ bool wlr_surface_has_buffer(struct wlr_surface *surface); /** * Create the subsurface implementation for this surface. */ -void wlr_surface_make_subsurface(struct wlr_surface *surface, +struct wlr_subsurface *wlr_surface_make_subsurface(struct wlr_surface *surface, struct wlr_surface *parent, uint32_t id); /** |