discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a49cede7905bf2fac6aba29ffe5686fad27ce211
commit a49cede7905bf2fac6aba29ffe5686fad27ce211 Author: Gwanglim Lee <gl77....@samsung.com> Date: Mon Jun 2 07:16:41 2014 -0400 add class type check where client layer marker is taken Summary: it fixes crash when running wl client apps on e wayland server. invalid comp object pointer value is returned by using eo_data_scope_get. thus eo_isa should be added before eo_data_scope_get. Test Plan: 1. run e wl server 2. run wl client terminlogy 3. run second wl client elementary_test Reviewers: raster, devilhorns, zmike, stefan_schmidt CC: cedric Differential Revision: https://phab.enlightenment.org/D919 --- src/bin/e_comp_object.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 018241a..b2922fe 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -166,7 +166,10 @@ _e_comp_object_layers_add(E_Comp_Object *cw, E_Comp_Object *above, E_Comp_Object * will return NULL for fake layers (eg. wayland) */ if (cw->comp->layers[cw->layer].obj) - layer_cw = eo_data_scope_get(cw->comp->layers[cw->layer].obj, MY_CLASS); + { + if (eo_isa(cw->comp->layers[cw->layer].obj, MY_CLASS)) + layer_cw = eo_data_scope_get(cw->comp->layers[cw->layer].obj, MY_CLASS); + } if (layer_cw == cw) layer_cw = NULL; /* if (above) --