diff --git a/kstyle/breeze.kcfg b/kstyle/breeze.kcfg
index 7fde09d9..d8456069 100644
--- a/kstyle/breeze.kcfg
+++ b/kstyle/breeze.kcfg
@@ -100,7 +100,7 @@
- false
+ true
diff --git a/kstyle/breezesplitterproxy.cpp b/kstyle/breezesplitterproxy.cpp
index 138adfaa..fa56b021 100644
--- a/kstyle/breezesplitterproxy.cpp
+++ b/kstyle/breezesplitterproxy.cpp
@@ -220,11 +220,11 @@ namespace Breeze
event->accept();
// grab on mouse press
- if( event->type() == QEvent::MouseButtonPress) grabMouse();
-
- parentWidget()->setUpdatesEnabled(false);
- resize(1,1);
- parentWidget()->setUpdatesEnabled(true);
+ if( event->type() == QEvent::MouseButtonPress)
+ {
+ grabMouse();
+ resize(1,1);
+ }
// cast to mouse event
QMouseEvent *mouseEvent( static_cast( event ) );
@@ -270,18 +270,18 @@ namespace Breeze
if( static_cast( event )->timerId() != _timerId )
{ return QWidget::event( event ); }
- if( mouseGrabber() == this )
- { return true; }
-
/*
Fall through is intended.
- We somehow lost a QEvent::Leave and gonna fix that from here
+ We somehow lost a QEvent::Leave before timeout. We fix it from here
*/
case QEvent::HoverLeave:
case QEvent::Leave:
{
+ if( mouseGrabber() == this )
+ { return true; }
+
// reset splitter
if( isVisible() && !rect().contains( mapFromGlobal( QCursor::pos() ) ) )
{ clearSplitter(); }
@@ -308,17 +308,14 @@ namespace Breeze
//
QRect r( 0, 0, 2*StyleConfigData::splitterProxyWidth(), 2*StyleConfigData::splitterProxyWidth() );
- r.moveCenter( parentWidget()->mapFromGlobal( QCursor::pos() ) );
+ r.moveCenter( _hook );
setGeometry(r);
setCursor( _splitter.data()->cursor().shape() );
raise();
show();
- /*
- timer used to automatically hide proxy
- in case leave events are lost
- */
+ // timer used to automatically hide proxy in case leave events are lost
if( !_timerId ) _timerId = startTimer(150);
}
@@ -338,7 +335,7 @@ namespace Breeze
hide();
parentWidget()->setUpdatesEnabled(true);
- // set hover event
+ // send hover event
if( _splitter )
{
QHoverEvent hoverEvent(