static void
_view_update(Elm_Layout_Smart_Data *pd, const char *name, const char *property)
{
- const char *source;
Eina_Strbuf *buf;
if (strncmp(SIGNAL_PREFIX, name, sizeof(SIGNAL_PREFIX) -1) != 0)
}
ELM_WIDGET_DATA_GET_OR_RETURN(pd->obj, wd);
- source = efl_class_name_get(efl_class_get(pd->model));
buf = eina_strbuf_new();
eina_strbuf_append(buf, name);
eina_strbuf_remove(buf, 0, sizeof(SIGNAL_PREFIX)-1);
eina_strbuf_replace_all(buf, "%v", property);
- edje_object_signal_emit(wd->resize_obj, eina_strbuf_string_get(buf), source);
+ edje_object_signal_emit(wd->resize_obj, eina_strbuf_string_get(buf), "elm");
eina_strbuf_free(buf);
}
Eina_Iterator *it_p;
int size;
- if (!pd->prop_connect) return;
+ if (!pd->prop_connect || !pd->model) return;
size = eina_hash_population(pd->prop_connect);
if (size == 0) return;
efl_ref(pd->model);
efl_event_callback_add(pd->model, EFL_MODEL_EVENT_PROPERTIES_CHANGED, _efl_model_properties_changed_cb, pd);
}
+ else
+ return;
if (pd->prop_connect)
_elm_layout_view_model_update(pd);
EINA_SAFETY_ON_NULL_RETURN(name);
Eina_Stringshare *ss_name, *ss_prop;
+ if (property == NULL && pd->prop_connect)
+ {
+ ss_name = eina_stringshare_add(name);
+ eina_hash_del(pd->prop_connect, ss_name, NULL);
+ return;
+ }
+
if (!_elm_layout_part_aliasing_eval(obj, pd, &name, EINA_TRUE))
return;