e_client_transform_core_update(ec);
}
-EINTERN E_Pixmap *
-e_client_pixmap_change(E_Client *ec, E_Pixmap *newcp)
+EINTERN void
+e_client_pixmap_replace(E_Client *ec, E_Pixmap *newcp)
{
E_Pixmap_Type oldtype, newtype;
E_Pixmap *oldcp;
- EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
- EINA_SAFETY_ON_NULL_RETURN_VAL(ec->pixmap, NULL);
- EINA_SAFETY_ON_NULL_RETURN_VAL(newcp, NULL);
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_RETURN(ec->pixmap);
+ EINA_SAFETY_ON_NULL_RETURN(newcp);
oldcp = ec->pixmap;
oldtype = e_pixmap_type_get(oldcp);
- if (oldtype >= E_PIXMAP_TYPE_MAX) return NULL;
+ if (oldtype >= E_PIXMAP_TYPE_MAX) return;
newtype = e_pixmap_type_get(newcp);
- if (newtype >= E_PIXMAP_TYPE_MAX) return NULL;
+ if (newtype >= E_PIXMAP_TYPE_MAX) return;
if (eina_hash_find(clients_hash[oldtype], &oldcp))
eina_hash_del_by_key(clients_hash[oldtype], &oldcp);
e_pixmap_client_set(oldcp, NULL);
+ e_pixmap_win_id_del(oldcp);
+ e_pixmap_free(oldcp);
ec->pixmap = newcp;
e_pixmap_client_set(newcp, ec);
eina_hash_add(clients_hash[newtype], &newcp, ec);
-
- return oldcp;
}
E_API void
EINTERN Eina_Bool e_client_base_output_resolution_rsm_update(E_Client *bind_ec, E_Client *provider_ec);
-EINTERN E_Pixmap *e_client_pixmap_change(E_Client *ec, E_Pixmap *newcp);
+EINTERN void e_client_pixmap_replace(E_Client *ec, E_Pixmap *newcp);
EINTERN void e_client_layout_geometry_set(E_Client *ec, int x, int y, unsigned int w, unsigned int h);
*/
E_Client *ec;
- E_Pixmap *oldep;
/* find launchscreen client list */
ec = e_comp_launchscrn_ec_find_by_pid(pid);
e_comp_launchscrn_ec_remove(ec);
- oldep = e_client_pixmap_change(ec, ep);
- if (oldep)
- {
- e_pixmap_win_id_del(oldep);
- e_pixmap_free(oldep);
- }
+ e_client_pixmap_replace(ec, ep);
if (ec->internal)
ec->internal = 0;