05-31-2018, 01:54 PM
This is an artifact of how modal dialogs and floating dialogs differ under the hood, so it's sort of a gray-area bug.
The underlying floating dialog is created once, along with all of its widgets. This is because the floating dialog can be shown/hidden at any time, and it does not block. So assigning one FD to another FD simply results in you referencing the same underlying platform-based dialog in both cases. (i.e. assigning is basically referencing what's already there)
With modal dialogs, the underlying platform-based dialog is created only at the time it is shown and destroyed immediately after it is dismissed. So, assigning one MD to another MD results in what looks like two distinct dialogs, but really it's just that both are only created and destroyed when needed. (i.e. assigning has nothing to reference at assignment time, as every physical widget is created later)
The underlying floating dialog is created once, along with all of its widgets. This is because the floating dialog can be shown/hidden at any time, and it does not block. So assigning one FD to another FD simply results in you referencing the same underlying platform-based dialog in both cases. (i.e. assigning is basically referencing what's already there)
With modal dialogs, the underlying platform-based dialog is created only at the time it is shown and destroyed immediately after it is dismissed. So, assigning one MD to another MD results in what looks like two distinct dialogs, but really it's just that both are only created and destroyed when needed. (i.e. assigning has nothing to reference at assignment time, as every physical widget is created later)