From c1a990c0e2451a1c98734b35557182327561988b Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Tue, 30 May 2017 11:50:05 +0300 Subject: [PATCH] fix #358 --- src/dlangui/platforms/console/consoleapp.d | 4 ++++ src/dlangui/platforms/sdl/sdlapp.d | 4 ++++ src/dlangui/platforms/windows/winapp.d | 4 ++++ 3 files changed, 12 insertions(+) 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);