diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-01-15 11:10:03 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-01-15 11:17:27 +0000 |
commit | 508c020cf5f7999f0c23d972133f9b6bf85de245 (patch) | |
tree | 9f3b7164d450040eff9353fbb2da01ed25800539 /vcl/win | |
parent | 313d7125eaf87f7af2af6bc1a6d1bac8fc7b2f0e (diff) |
Resolves: fdo#32664 pass keyboard media keys through to the OS
if we didn't make use of them.
Change-Id: Iee1c2fef5966a614b068c832bf8c6b51973b4c8a
Diffstat (limited to 'vcl/win')
-rw-r--r-- | vcl/win/source/window/salframe.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx index cdffe0fe4c9d..eb8f548f97ac 100644 --- a/vcl/win/source/window/salframe.cxx +++ b/vcl/win/source/window/salframe.cxx @@ -5178,7 +5178,7 @@ static bool ImplHandleIMEEndComposition( HWND hWnd ) return bDef; } -static boolean ImplHandleAppCommand( HWND hWnd, LPARAM lParam ) +static boolean ImplHandleAppCommand( HWND hWnd, LPARAM lParam, LRESULT & nRet ) { sal_Int16 nCommand = 0; switch( GET_APPCOMMAND_LPARAM(lParam) ) @@ -5210,13 +5210,15 @@ static boolean ImplHandleAppCommand( HWND hWnd, LPARAM lParam ) if( pWindow ) { const Point aPoint; - CommandEvent aCEvt( aPoint, COMMAND_MEDIA, FALSE, &nCommand ); + CommandMediaData aMediaData(nCommand); + CommandEvent aCEvt( aPoint, COMMAND_MEDIA, FALSE, &aMediaData ); NotifyEvent aNCmdEvt( MouseNotifyEvent::COMMAND, pWindow, &aCEvt ); if ( !ImplCallPreNotify( aNCmdEvt ) ) { pWindow->Command( aCEvt ); - return true; + nRet = 1; + return !aMediaData.GetPassThroughToOS(); } } @@ -5844,10 +5846,9 @@ LRESULT CALLBACK SalFrameWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lP break; case WM_APPCOMMAND: - if( ImplHandleAppCommand( hWnd, lParam ) ) + if( ImplHandleAppCommand( hWnd, lParam, nRet ) ) { rDef = false; - nRet = 1; } break; case WM_IME_REQUEST: |