diff --git a/src/dlangui/platforms/console/consoleapp.d b/src/dlangui/platforms/console/consoleapp.d index 20501eea..94c12365 100644 --- a/src/dlangui/platforms/console/consoleapp.d +++ b/src/dlangui/platforms/console/consoleapp.d @@ -23,6 +23,10 @@ class ConsoleWindow : Window { } /// show window override void show() { + if (!_mainWidget) { + Log.e("Window is shown without main widget"); + _mainWidget = new Widget(); + } _visible = true; } private dstring _windowCaption; diff --git a/src/dlangui/platforms/sdl/sdlapp.d b/src/dlangui/platforms/sdl/sdlapp.d index c4a6ef2a..e67aff19 100755 --- a/src/dlangui/platforms/sdl/sdlapp.d +++ b/src/dlangui/platforms/sdl/sdlapp.d @@ -342,6 +342,10 @@ class SDLWindow : Window { override void show() { Log.d("SDLWindow.show() - ", windowCaption); + if (!_mainWidget) { + Log.e("Window is shown without main widget"); + _mainWidget = new Widget(); + } if (_mainWidget && !(_flags & WindowFlag.Resizable)) { _mainWidget.measure(SIZE_UNSPECIFIED, SIZE_UNSPECIFIED); SDL_SetWindowSize(_win, _mainWidget.measuredWidth, _mainWidget.measuredHeight); diff --git a/src/dlangui/platforms/windows/winapp.d b/src/dlangui/platforms/windows/winapp.d index 1049cb96..77f110fd 100644 --- a/src/dlangui/platforms/windows/winapp.d +++ b/src/dlangui/platforms/windows/winapp.d @@ -427,6 +427,10 @@ class Win32Window : Window { return _drawbuf; } override void show() { + if (!_mainWidget) { + Log.e("Window is shown without main widget"); + _mainWidget = new Widget(); + } ReleaseCapture(); if (!(_flags & WindowFlag.Resizable) && _mainWidget) { _mainWidget.measure(SIZE_UNSPECIFIED, SIZE_UNSPECIFIED);