return ec->comp_data ? ec->comp_data->sub.data : NULL;
}
-EINTERN Eina_Bool
-e_client_buffer_flush_enabled_get(E_Client *ec)
-{
- if (!ec) return EINA_FALSE;
- if (!ec->comp_data) return EINA_FALSE;
- if (!ec->exp_iconify.buffer_flush) return EINA_FALSE;
- if (e_view_client_visible_get(e_client_view_get(ec))) return EINA_FALSE;
- if (ec->is_cursor) return EINA_FALSE;
-
- if (e_policy_visibility_client_is_iconic(ec)) return EINA_TRUE;
- if (!ec->comp_data->mapped) return EINA_TRUE;
-
- return EINA_FALSE;
-}
-
EINTERN Eina_Bool
e_client_is_input_acceptable(E_Client *ec)
{
void e_client_virtual_touch_threshold_set(E_Client *ec, int threshold);
int e_client_virtual_touch_threshold_get(E_Client *ec);
-EINTERN Eina_Bool e_client_buffer_flush_enabled_get(E_Client *ec);
-
Eina_Bool e_client_is_input_acceptable(E_Client *ec);
EINTERN void e_client_resize_edges_set(E_Client *ec, uint32_t edges);
comp_wl_buffer = _e_hwc_window_comp_wl_buffer_get(hwc_window);
if ((!comp_wl_buffer) &&
- (e_client_buffer_flush_enabled_get(ec)))
+ (!e_view_client_visible_get(e_client_view_get(ec))) &&
+ (ec->exp_iconify.buffer_flush) &&
+ (e_policy_visibility_client_is_iconic(ec)))
return EINA_FALSE;
if (!comp_wl_buffer)
if (!(ec = copy_thread_data->hwc_window->ec)) goto end;
if (!e_client_cdata_get(ec)) goto end;
- if (e_client_buffer_flush_enabled_get(ec))
+ if ((!e_view_client_visible_get(e_client_view_get(ec))) &&
+ (ec->exp_iconify.buffer_flush) &&
+ (e_policy_visibility_client_is_iconic(ec)))
goto end;
comp_buffer = _comp_wl_buffer_get(ec);
if (!hwc_window->ec) return;
- if (e_client_buffer_flush_enabled_get(hwc_window->ec))
+ if ((!e_view_client_visible_get(e_client_view_get(hwc_window->ec))) &&
+ (hwc_window->ec->exp_iconify.buffer_flush) &&
+ (e_policy_visibility_client_is_iconic(hwc_window->ec)))
return;
_e_hwc_window_queue_copy_thread_check_and_run(hwc_window);
hwc_window = ec->hwc_window;
if (!hwc_window) return;
- if (e_client_buffer_flush_enabled_get(hwc_window->ec))
+ if ((!e_view_client_visible_get(e_client_view_get(ec))) &&
+ (ec->exp_iconify.buffer_flush) &&
+ (e_policy_visibility_client_is_iconic(ec)))
return;
_e_hwc_window_queue_copy_thread_check_and_run(hwc_window);
wl_signal_emit(&cdata->state_commit_signal, &cdata->surface);
buffer = e_surface_buffer_try_get(surface);
- if ((buffer) && (e_client_buffer_flush_enabled_get(ec)))
- e_pixmap_buffer_clear(ec->pixmap, EINA_FALSE);
+ if (buffer &&
+ ec->exp_iconify.buffer_flush &&
+ e_policy_visibility_client_is_iconic(ec))
+ {
+ e_pixmap_buffer_clear(ec->pixmap, EINA_FALSE);
+ }
}
static void
E_Tizen_Surface_Shm *surface_shm;
E_Tizen_Surface_Shm_Flusher *surface_shm_flusher = NULL;
- if ((!only_free) && (!e_client_buffer_flush_enabled_get(ec))) return;
+ /* if not only free, client should be iconic state */
+ if (!only_free && !e_policy_visibility_client_is_iconic(ec)) return;
surface_shm = (E_Tizen_Surface_Shm *)e_server_feature_handle_get(E_SERVER_FEATURE_TIZEN_SURFACE_SHM);
if (surface_shm)
VS_DBG(ec, "\tUPDATE ICONIC STATE: %s", STATE_STR(vc));
vc->prepare_emitted = 0;
- if (e_client_buffer_flush_enabled_get(ec))
+ if (ec->iconic && ec->exp_iconify.buffer_flush)
e_pixmap_buffer_clear(ec->pixmap, EINA_FALSE);
}