From 0a585911c087e0c8208e97d2ef1e0122f03790be Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 16 Jan 2008 01:49:36 +0000 Subject: [PATCH] don't enable disabled windows when showing them (patch 1871879) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@51230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 3 ++- src/msw/toplevel.cpp | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index f999254fb7..cff59c6463 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -115,7 +115,7 @@ All (GUI): All (Unix): -- Fixed shared libraries do not depend on GStreamer when built with +- Fixed shared libraries to not depend on GStreamer when built with --enable-media; only wxMedia library depends on it now. wxMSW: @@ -123,6 +123,7 @@ wxMSW: - Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse). - Fix setting icons when they have non-default (16*16 and 32*32) sizes. - Fixed wxLocale::GetInfo to use the C locale. +- Don't enable disabled windows when showing them (Harry McKame). wxGTK: diff --git a/src/msw/toplevel.cpp b/src/msw/toplevel.cpp index 2070db8f3a..a053f10403 100644 --- a/src/msw/toplevel.cpp +++ b/src/msw/toplevel.cpp @@ -674,10 +674,14 @@ bool wxTopLevelWindowMSW::Show(bool show) } else // just show { - if ( GetWindowStyle() & wxFRAME_TOOL_WINDOW ) - nShowCmd = SW_SHOWNA; - else - nShowCmd = SW_SHOW; + // we shouldn't use SW_SHOW which also activates the window for + // tool frames (as they shouldn't steal focus from the main window) + // nor for the currently disabled windows as they would be enabled + // as a side effect + if ( HasFlag(wxFRAME_TOOL_WINDOW) || !IsEnabled() ) + nShowCmd = SW_SHOWNA; + else + nShowCmd = SW_SHOW; } } else // hide