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

App stays and not quit, when we deal with "Check Automatically". #44

Closed
kenjiuno opened this issue Jan 19, 2015 · 7 comments
Closed

App stays and not quit, when we deal with "Check Automatically". #44

kenjiuno opened this issue Jan 19, 2015 · 7 comments

Comments

@kenjiuno
Copy link
Contributor

Hi.

App keep staying when I do like the following instructions:

  1. Launch app. See [Window1]
  2. [Window2] appears.
  3. Click [Btn1].
  4. [Window3] appears.
  5. Click either [Btn2] or [Btn3].
  6. Both [Window2] and [Window3] disappear.
  7. Close [Window1]
  8. [Window1] disappears, but app won't quit.

updatescreens

kenjiuno added a commit to kenjiuno/winsparkle that referenced this issue Jan 19, 2015
@kenjiuno
Copy link
Contributor Author

Hi.

I have posted a pull request (#45) to fix this issue, though I'm not sure if it is good solution.

Thanks
kenji uno

@kenjiuno
Copy link
Contributor Author

Hi.

If you try to show CheckUpdate dialog again in example_psdk.exe:
Delete [CheckForUpdates] value from the registry key [HKEY_CURRENT_USER\Software\winsparkle.org\WinSparkle Example App\WinSparkle].

@vslavik
Copy link
Owner

vslavik commented Jan 19, 2015

Did you try with the very latest sources (it's always worth doing)? Specifically, with sources that include 8a440b6? I'm almost sure this is a duplicate of #42 and was just fixed 3 days ago. Could you please check if that's the case?

@kenjiuno
Copy link
Contributor Author

Hi.

Did you try with the very latest sources

Yes, I have tried and worked on latest master 2ee16f6.

The fix 8a440b6 is included and it didn't fix my problem.

My issue is about "dialog's parent window":

  • [Window2] owns [Window3], because wxDIALOG_NO_PARENT isn't specified. I don't know whether this is specification/bug of wxWidgets or not. You can check it by using Spy++.
  • If you close [Window2] by selecting one of [Btn2][Btn3], [Window3] is also destroyed. It seems that it is done without required post processing of wxWidgets. It means that wxWidgets treats [Window3] is still alive, so app won't quit, because UI thread cannot be terminated.

ps: I'm using winsparkle on company's product and it works very well, thanks!

@vslavik
Copy link
Owner

vslavik commented Jan 19, 2015

My issue is about "dialog's parent window":

(Your issue was with application not terminating. Nowhere in the description was it apparent that it could be related to parent-child relationship, so the assumption that it was related to 8a440b6 was IMHO a reasonable one.)

Thanks for the follow-up explanation! This parentship relationship between the windows would be correct without wxDIALOG_NO_PARENT if [Window2] was created first; it's highly surprising to me that wx would reparent later, when the dialog is already being shown modally. That's a very valuable observation and makes the reason for #45 much cleaner, thanks a lot for that. (It's exactly the kind of description that would be great to have in the commit message itself, too.)

I still don't understand how could 8a440b6 not work, but that's a problem with me, not this issue and PR — I must still be missing something :(

@kenjiuno
Copy link
Contributor Author

Hi.

Sorry, I have found a side effect brought by this patch!

@kenjiuno
Copy link
Contributor Author

Hi.

My mention "a side effect" at the prior post is by my misunderstanding. Sorry!

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

No branches or pull requests

2 participants