Perhaps this has been fixed in 4.6, I haven’t updated my project yet.
In 4.5.1 when I place a SComboBox in a Compound Widget at it’s root or inside an overlay or canvas the SComboBox forces the window the game is running in to lose focus when pressed. If the game is full screen it kicks it out of full screen.
So I’ve done some testing myself and located the issue. It was in SlateApplication.cpp file (line 4720), comment it out and you should not experiance this problem anymore. Doing so will probably mess with Alt-tabing sequence so do it on your own responsibility ; )
// As we've just been activated, attempt to restore the resolution that the engine previously cached.
// This allows us to force ourselves back to the correct resolution after alt-tabbing out of a fullscreen
// window and then going back in again.
Renderer->RestoreSystemResolution(ActivateEvent.GetAffectedWindow());
So it looks like resolution of the window is not cached after maximize operation. Whats interesting is that you wont get this problem while in editor…
Anyway, I’d love to hear official statement about it and replace this hack of mine with a proper solution ; )
I’m trying to reproduce this issue on my machine and just want to make sure I’m setting up my widget the same way you have yours. When you created your TestBoxWidget class what did you use as the parent? Let me know if there is anything else I need to match your widget setup.