summaryrefslogtreecommitdiff
path: root/vcl/win
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-01-15 11:10:03 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-01-15 11:17:27 +0000
commit508c020cf5f7999f0c23d972133f9b6bf85de245 (patch)
tree9f3b7164d450040eff9353fbb2da01ed25800539 /vcl/win
parent313d7125eaf87f7af2af6bc1a6d1bac8fc7b2f0e (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.cxx11
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: