#define API_ENTRY \
EINA_SAFETY_ON_NULL_RETURN(zone); \
- E_Zone_Private *priv = PRI(zone)
+ E_Zone_Private *priv = PRI(zone); \
+ EINA_SAFETY_ON_NULL_RETURN(priv);
#define API_ENTRY_VAL(ret) \
EINA_SAFETY_ON_NULL_RETURN_VAL(zone, ret); \
- E_Zone_Private *priv = PRI(zone)
+ E_Zone_Private *priv = PRI(zone) \
+ EINA_SAFETY_ON_NULL_RETURN_VAL(priv, ret);
typedef struct _E_Zone_Private E_Zone_Private;
typedef struct _E_Zone_Private_Client E_Zone_Private_Client;
E_Zone_Private *priv;
priv = PRI(zone);
+ if (!priv) return;
+
e_object_data_set(E_OBJECT(zone), NULL);
wl_list_remove(&priv->screen_get_splitscreen.link);
EINA_SAFETY_ON_NULL_RETURN_VAL(zone, NULL);
priv = PRI(zone);
+ if (!priv)
+ {
+ e_object_del(E_OBJECT(zone));
+ return NULL;
+ }
priv->tizen_screen = ds_tizen_screen_create(e_comp_wl->wl.disp);
EINA_SAFETY_ON_NULL_RETURN_VAL(priv->tizen_screen, NULL);