2012-05-09 Cedric Bail
* Fix bug in case of nesting edje_object_signal_emit and edje_object_signal_callback_{add,del}
+ * Check that the file changed on disk when trying to reopen it.
+
Fixes:
* Add missing files in the tarballs.
* Prevent crash when running nested edje_object_signal_emit with edje_object_signal_callback_{add,del}.
+ * Do actually verify that the file on disk is different from the file we have loaded.
Edje 1.2.0
if (!file) file = "";
if (!group) group = "";
if (((ed->path) && (!strcmp(file, ed->path))) &&
- (ed->group) && (!strcmp(group, ed->group)))
- return 1;
+ (ed->group) && (!strcmp(group, ed->group)) &&
+ ed->file)
+ {
+ struct stat st;
+
+ if (stat(file, &st) != 0)
+ return 1;
+ if (st.st_mtime == ed->file->mtime)
+ return 1;
+ }
tev = evas_object_evas_get(obj);
evas_event_freeze(tev);
if (_edje_script_only(ed)) _edje_script_only_shutdown(ed);
if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed);
+
_edje_file_del(ed);
eina_stringshare_replace(&ed->path, file);