gtk3: allow float grab inside float grab

this is so that the floating window belonging to the listbox inside the
floating window color popup will track the mouse as it moves up and down over
the menu.

Change-Id: If108b5b3866fdbc04513c48c8d859bedd3867379
This commit is contained in:
Caolán McNamara
2016-11-01 20:32:57 +00:00
parent 38e7f38b82
commit b99bff93a3

View File

@@ -1438,7 +1438,7 @@ void GtkSalFrame::Show( bool bVisible, bool /*bNoActivate*/ )
SetDefaultSize(); SetDefaultSize();
setMinMaxSize(); setMinMaxSize();
if (isFloatGrabWindow() && !getDisplay()->GetCaptureFrame() && m_nFloats == 0) if (isFloatGrabWindow() && !getDisplay()->GetCaptureFrame())
{ {
m_pParent->grabPointer(true, true); m_pParent->grabPointer(true, true);
gtk_grab_add(m_pParent->getMouseEventWidget()); gtk_grab_add(m_pParent->getMouseEventWidget());
@@ -1449,7 +1449,7 @@ void GtkSalFrame::Show( bool bVisible, bool /*bNoActivate*/ )
if( isFloatGrabWindow() ) if( isFloatGrabWindow() )
{ {
m_nFloats++; m_nFloats++;
if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 1 ) if (!getDisplay()->GetCaptureFrame())
{ {
grabPointer(true, true); grabPointer(true, true);
gtk_grab_add(getMouseEventWidget()); gtk_grab_add(getMouseEventWidget());
@@ -1464,7 +1464,7 @@ void GtkSalFrame::Show( bool bVisible, bool /*bNoActivate*/ )
if( isFloatGrabWindow() ) if( isFloatGrabWindow() )
{ {
m_nFloats--; m_nFloats--;
if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 0) if (!getDisplay()->GetCaptureFrame())
{ {
gtk_grab_remove(getMouseEventWidget()); gtk_grab_remove(getMouseEventWidget());
grabPointer(false); grabPointer(false);