From 1bd41aa3b6d36744c3cd3dd41ed46f5b801a5888 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Tue, 30 Jan 2018 15:19:43 -0600 Subject: ecore_wl2: Add new event for windows not displayed on any output When a window leaves all outputs we can free its render buffers to save memory. This new event is generated when a window leaves all outputs. --- src/lib/ecore_wl2/ecore_wl2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/lib/ecore_wl2/ecore_wl2.c') diff --git a/src/lib/ecore_wl2/ecore_wl2.c b/src/lib/ecore_wl2/ecore_wl2.c index 479ee93ef0..78ac85b6ac 100644 --- a/src/lib/ecore_wl2/ecore_wl2.c +++ b/src/lib/ecore_wl2/ecore_wl2.c @@ -53,6 +53,7 @@ EAPI int ECORE_WL2_EVENT_WINDOW_HIDE = 0; EAPI int ECORE_WL2_EVENT_WINDOW_ACTIVATE = 0; EAPI int ECORE_WL2_EVENT_WINDOW_DEACTIVATE = 0; EAPI int ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = 0; +EAPI int ECORE_WL2_EVENT_WINDOW_OFFSCREEN = 0; EAPI int _ecore_wl2_event_window_www = -1; EAPI int _ecore_wl2_event_window_www_drag = -1; @@ -173,6 +174,7 @@ ecore_wl2_init(void) ECORE_WL2_EVENT_WINDOW_ACTIVATE = ecore_event_type_new(); ECORE_WL2_EVENT_WINDOW_DEACTIVATE = ecore_event_type_new(); ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = ecore_event_type_new(); + ECORE_WL2_EVENT_WINDOW_OFFSCREEN = ecore_event_type_new(); if (!no_session_recovery) no_session_recovery = !!getenv("EFL_NO_WAYLAND_SESSION_RECOVERY"); @@ -246,7 +248,8 @@ ecore_wl2_shutdown(void) ECORE_WL2_EVENT_WINDOW_HIDE, ECORE_WL2_EVENT_WINDOW_ACTIVATE, ECORE_WL2_EVENT_WINDOW_DEACTIVATE, - ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE); + ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE, + ECORE_WL2_EVENT_WINDOW_OFFSCREEN); /* shutdown Ecore_Event */ ecore_event_shutdown(); -- cgit v1.2.1