From 6fe694c38f416bddcccfbadf18819e4adc80c42b Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa Date: Mon, 29 Mar 2010 21:57:05 +0000 Subject: [PATCH] Properly account for decoration padding when calculating mousePosition in window, needed to decide cursor shape. BUG: 231844 svn path=/trunk/KDE/kdebase/workspace/; revision=1108844 --- events.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/events.cpp b/events.cpp index 0c095c80a2..300d42f55a 100644 --- a/events.cpp +++ b/events.cpp @@ -1398,6 +1398,8 @@ bool Client::buttonReleaseEvent( Window w, int /*button*/, int state, int x, int finishMoveResize( false ); // mouse position is still relative to old Client position, adjust it QPoint mousepos( x_root - x, y_root - y ); + if( w == frameId() ) + mousepos += QPoint( padding_left, padding_top ); mode = mousePosition( mousepos ); } else if( workspace()->decorationSupportsClientGrouping() ) @@ -1481,7 +1483,10 @@ bool Client::motionNotifyEvent( Window w, int /*state*/, int x, int y, int x_roo return true; // care only about the whole frame if ( !buttonDown ) { - Position newmode = mousePosition( QPoint( x, y )); + QPoint mousePos( x, y ); + if( w == frameId() ) + mousePos += QPoint( padding_left, padding_top ); + Position newmode = mousePosition( mousePos ); if( newmode != mode ) { mode = newmode;