Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

escapeInfiniteLoop #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

escapeInfiniteLoop #3

wants to merge 1 commit into from

Conversation

MickaelAlvarez
Copy link

To escape the infinite loop that you can have in that case:

  • You create an ATCS project
  • You close ATCS
  • You move or delete the Andor's Trail game project
  • Then if you try to open the ATCS project, ATCS enter in an infinite loop

So I had a window to inform the user of the problem and to stop it by closing this new window.

- You create an ATCS project
- You close ATCS
- You move or delete the Andor's Trail game project
- Then if you try to open the ATCS project, ATCS enter in an infinite loop

So I had a window to inform the user of the problem and to stop it by closing this new window.
@Zukero
Copy link
Owner

Zukero commented Mar 18, 2015

This is indeed an issue.
There are many more of the same type, against which ATCS should be made more robust.
However, I will not accept this fix, for the following reasons:

  • UI elements tainting the object model. UI components belong to the ui package.
  • It doesn't fix the root issue. If the user doesn't take action before relaunching ATCS, the same problem occurs.
  • It doesn't get a chance to identify other similar issues in other projects.

A preferred way would be to throw a custom exception (ProjectLoadingException for example), catch it higher in the call stack to store it, and finally present the list of errors to the user once the loading is completed, and offer built-in solutions to cure them.
I admit it represents a much bigger volume of code, but I would like to avoid quick and dirty workarounds, as they have a tendency to stick around the codebase for much longer than desired.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants