vcl/win/window/salframe.cxx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-)
New commits: commit 081267ebaacb38c564b36bb3e2576bf22d52b3e5 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Mon Dec 19 22:37:24 2016 +0100 try to avoid the annoying focus stealing on windows Change-Id: Ic6d3492a4707f24b616a7dee34a111ba0af4f281 Reviewed-on: https://gerrit.libreoffice.org/32207 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index 424e588..689a69c 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -827,6 +827,17 @@ static void ImplSalFrameFullScreenPos( WinSalFrame* pFrame, bool bAlways = FALSE } } +namespace { + +void SetForegroundWindow_Impl(HWND hwnd) +{ + static bool bUseForegroundWindow = !std::getenv("VCL_HIDE_WINDOWS"); + if (bUseForegroundWindow) + SetForegroundWindow(hwnd); +} + +} + WinSalFrame::WinSalFrame() { SalData* pSalData = GetSalData(); @@ -1179,8 +1190,8 @@ static void ImplSalShow( HWND hWnd, bool bVisible, bool bNoActivate ) { HWND hWndParent = ::GetParent( hWnd ); if ( hWndParent ) - SetForegroundWindow( hWndParent ); - SetForegroundWindow( hWnd ); + SetForegroundWindow_Impl( hWndParent ); + SetForegroundWindow_Impl( hWnd ); } pFrame->mbInShow = FALSE; @@ -1977,7 +1988,7 @@ static void ImplSalToTop( HWND hWnd, SalFrameToTop nFlags ) DWORD myThreadID = GetCurrentThreadId(); DWORD currThreadID = GetWindowThreadProcessId(hCurrWnd,nullptr); AttachThreadInput(myThreadID, currThreadID,TRUE); - SetForegroundWindow(hWnd); + SetForegroundWindow_Impl(hWnd); AttachThreadInput(myThreadID,currThreadID,FALSE); } @@ -2011,7 +2022,7 @@ static void ImplSalToTop( HWND hWnd, SalFrameToTop nFlags ) // Windows sometimes incorrectly reports to have the focus; // thus make sure to really get the focus if ( ::GetFocus() == hWnd ) - SetForegroundWindow( hWnd ); + SetForegroundWindow_Impl( hWnd ); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits