We found a corner case that the pc power is shut-down.
in that case lock file won't be removed and Enventor won't be
launched forever.
So use a mutex to recover this scenario additionally.
I tested all the scenarios that I can imagine,
and now it perfectly works fine!
Some cases, the edc editor can't apply syntax color
when it opens a new edc file.
we can cover this scanerio by trying syntax color logic again
until it's succeed.
@T4275
Relative resource paths in sub edc files are based on the current working
directory.
To support relative resource paths in sub edc files, set main edc file's
directory as the working directory when edje_cc is executed.
Test Plan:
1. Create "main.edc" in "./edc/" directory.
2. Create "sub.edc" in "./edc/sub/" directory.
3. Create "icon.png" in "./edc/image/" directory.
4. "main.edc" includes "sub.edc". (i.e. #include "./sub/sub.edc")
5. "sub.edc" uses "icon.png".
(i.e. images.image: "./image/icon.png" COMP;)
6. Open "main.edc" in the current working directory.
(i.e. enventor -w ./edc ./edc/main.edc -i ./edc/image)
I found some crash issues that enventor couldn't catch the event.
Have no idea what kinds of the crashes but probably it'd out of the signal
handling.
So re-implement the way of supporting the locking file mechanism
to use the win32 basic File functionality that gurantee removing file
when Enventor is closed in normal or abnormal, either cases.
Previously, generated views were to terminated if the edj path is changed,
but it's not quite useful at any scenarios.
User may want to change just the edj output path without any input resources
changes.
The focused_item could be invalid if the enventor item is removed before seting it null.
Also, the previous warning is no more invalid because
it was introduced by unsafe threads workers that was already fixed before.
Summary:
when the item of file tab which is in out of file tab view needs to be shown,
It should be moved into the file tab view
Test Plan:
1. launch enventor with multi-file supports
2. add item fully to the file tab
3. click next arrow in file tab and move the selection item
4. when selection item reached end of file tab
5. check the next item which is out of file tab view comes into the file tab view
Reviewers: Hermet, Jaehyun_Cho, NikaWhite, bowonryu
Differential Revision: https://phab.enlightenment.org/D4242