From f735e5cea8a9ddca7a776d7f9534605e85e464b8 Mon Sep 17 00:00:00 2001 From: and3md Date: Thu, 10 Aug 2017 16:51:48 +0200 Subject: [PATCH] Fix window freeze after hide modal window (X11, Windows platforms). --- src/dlangui/platforms/windows/winapp.d | 2 +- src/dlangui/platforms/x11/x11app.d | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dlangui/platforms/windows/winapp.d b/src/dlangui/platforms/windows/winapp.d index 6119611d..6f5d14a9 100644 --- a/src/dlangui/platforms/windows/winapp.d +++ b/src/dlangui/platforms/windows/winapp.d @@ -1087,7 +1087,7 @@ class Win32Platform : Platform { for (uint i = 0; i + 1 < _windowList.length; i++) { if (_windowList[i] is w) { for (uint j = i + 1; j < _windowList.length; j++) { - if (_windowList[j].flags & WindowFlag.Modal) + if (_windowList[j].flags & WindowFlag.Modal && _windowList[j]._windowState != WindowState.hidden) return true; } return false; diff --git a/src/dlangui/platforms/x11/x11app.d b/src/dlangui/platforms/x11/x11app.d index fb647027..628f88b0 100644 --- a/src/dlangui/platforms/x11/x11app.d +++ b/src/dlangui/platforms/x11/x11app.d @@ -1667,7 +1667,7 @@ class X11Platform : Platform { for (uint i = 0; i + 1 < _windowList.length; i++) { if (_windowList[i] is w) { for (uint j = i + 1; j < _windowList.length; j++) { - if (_windowList[j].flags & WindowFlag.Modal) + if (_windowList[j].flags & WindowFlag.Modal && _windowList[j]._windowState != WindowState.hidden) return true; } return false;