#1816 fix parenting/close behavior for Gtk drop-down dialog box #1818
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This still needs some cleanup but the control no longer loses parenting for the drop-down on a form. This result is still messed up if the control is located on a Dialog - guessing the two fight for the always on top but at least will behave on a Form. I have seen this problem in other Gtk situations and my response is to turn all my "dialogs" into forms so the only remaining are the "system" dialogs e.g. Save/Open/Print. Basically the code changes allow the combo-box part of the control to manage the lifetime of the dialog and will pull the dialog down when focus is lost to the control
As far as root cause -- the "Close" on the dialog gets called but seems to only partially close the window -- perhaps the underlying controls in Gtk-land abort the Close or there is a race condition or..??? I originally thought a race condition or non-UI thread since these are coming in from events - but I tested calling/sending the Close request to the context used to create the control to no effect -- seems something is "cancelling" the close request somehow. I may move my investigation over to the UNIX side so I can debug into GtkSharp and see what's going on down below.