diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2018-01-30 15:19:43 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2018-01-30 17:09:51 -0600 |
commit | 1bd41aa3b6d36744c3cd3dd41ed46f5b801a5888 (patch) | |
tree | 68003c7246e83fd6d4b0233364e4477f718c0839 /src/lib/ecore_wl2/ecore_wl2.c | |
parent | 8abac6da65a1bfd5883383bb72de1215ff555b8f (diff) |
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.
Diffstat (limited to '')
-rw-r--r-- | src/lib/ecore_wl2/ecore_wl2.c | 5 |
1 files changed, 4 insertions, 1 deletions
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; | |||
53 | EAPI int ECORE_WL2_EVENT_WINDOW_ACTIVATE = 0; | 53 | EAPI int ECORE_WL2_EVENT_WINDOW_ACTIVATE = 0; |
54 | EAPI int ECORE_WL2_EVENT_WINDOW_DEACTIVATE = 0; | 54 | EAPI int ECORE_WL2_EVENT_WINDOW_DEACTIVATE = 0; |
55 | EAPI int ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = 0; | 55 | EAPI int ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = 0; |
56 | EAPI int ECORE_WL2_EVENT_WINDOW_OFFSCREEN = 0; | ||
56 | 57 | ||
57 | EAPI int _ecore_wl2_event_window_www = -1; | 58 | EAPI int _ecore_wl2_event_window_www = -1; |
58 | EAPI int _ecore_wl2_event_window_www_drag = -1; | 59 | EAPI int _ecore_wl2_event_window_www_drag = -1; |
@@ -173,6 +174,7 @@ ecore_wl2_init(void) | |||
173 | ECORE_WL2_EVENT_WINDOW_ACTIVATE = ecore_event_type_new(); | 174 | ECORE_WL2_EVENT_WINDOW_ACTIVATE = ecore_event_type_new(); |
174 | ECORE_WL2_EVENT_WINDOW_DEACTIVATE = ecore_event_type_new(); | 175 | ECORE_WL2_EVENT_WINDOW_DEACTIVATE = ecore_event_type_new(); |
175 | ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = ecore_event_type_new(); | 176 | ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = ecore_event_type_new(); |
177 | ECORE_WL2_EVENT_WINDOW_OFFSCREEN = ecore_event_type_new(); | ||
176 | 178 | ||
177 | if (!no_session_recovery) | 179 | if (!no_session_recovery) |
178 | no_session_recovery = !!getenv("EFL_NO_WAYLAND_SESSION_RECOVERY"); | 180 | no_session_recovery = !!getenv("EFL_NO_WAYLAND_SESSION_RECOVERY"); |
@@ -246,7 +248,8 @@ ecore_wl2_shutdown(void) | |||
246 | ECORE_WL2_EVENT_WINDOW_HIDE, | 248 | ECORE_WL2_EVENT_WINDOW_HIDE, |
247 | ECORE_WL2_EVENT_WINDOW_ACTIVATE, | 249 | ECORE_WL2_EVENT_WINDOW_ACTIVATE, |
248 | ECORE_WL2_EVENT_WINDOW_DEACTIVATE, | 250 | ECORE_WL2_EVENT_WINDOW_DEACTIVATE, |
249 | ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE); | 251 | ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE, |
252 | ECORE_WL2_EVENT_WINDOW_OFFSCREEN); | ||
250 | 253 | ||
251 | /* shutdown Ecore_Event */ | 254 | /* shutdown Ecore_Event */ |
252 | ecore_event_shutdown(); | 255 | ecore_event_shutdown(); |