summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-06-09 16:47:40 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-06-09 17:19:33 +0100
commit98da362f1691734437cb37f902fb1cdab613ac0a (patch)
tree8d82de35c51544c884e64c76ca648a3e949c1877 /vcl
parentce90a3cb3dcf35d8b7dbf886b62bb3ebc2c1ebef (diff)
EndSaveFocus return value is unused
Change-Id: I746e47b118a8b8c687c435371e2bdf2dc22cbf88
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/window2.cxx8
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx25
2 files changed, 12 insertions, 21 deletions
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index fa9fc15e55f3..2878e0ab09bc 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -421,21 +421,17 @@ VclPtr<vcl::Window> Window::SaveFocus()
return nullptr;
}
-bool Window::EndSaveFocus( const VclPtr<vcl::Window>& xFocusWin, bool bRestore )
+void Window::EndSaveFocus( const VclPtr<vcl::Window>& xFocusWin, bool bRestore )
{
if ( xFocusWin == nullptr )
- return false;
+ return;
else
{
- bool bOK = true;
if ( !xFocusWin->IsDisposed() )
{
if ( bRestore )
xFocusWin->GrabFocus();
}
- else
- bOK = !bRestore;
- return bOK;
}
}
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 5a12fa66c0ac..c76e2cd905d1 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1440,15 +1440,11 @@ void GtkSalFrame::Show( bool bVisible, bool bNoActivate )
m_nFloats++;
if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 1 )
{
- GtkWidget* pGrabWidgetBeforeShowFloat;
- while ((pGrabWidgetBeforeShowFloat = gtk_grab_get_current()))
- {
- m_aGrabWidgetsBeforeShowFloat.push_back(pGrabWidgetBeforeShowFloat);
- gtk_grab_remove(pGrabWidgetBeforeShowFloat);
- }
- grabPointer(true, true);
- GtkSalFrame *pKeyboardFrame = m_pParent ? m_pParent : this;
- pKeyboardFrame->grabKeyboard(true);
+ GdkDeviceManager* pDeviceManager = gdk_display_get_device_manager(getGdkDisplay());
+ GdkDevice* pPointer = gdk_device_manager_get_client_pointer(pDeviceManager);
+ GdkDevice* pKeyboard = gdk_device_get_associated_device(pPointer);
+ gtk_device_grab_add(m_pParent->getWindow(), pPointer, false);
+ gtk_device_grab_add(m_pParent->getWindow(), pKeyboard, false);
}
// #i44068# reset parent's IM context
if( m_pParent )
@@ -1464,12 +1460,11 @@ void GtkSalFrame::Show( bool bVisible, bool bNoActivate )
m_nFloats--;
if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 0)
{
- GtkSalFrame *pKeyboardFrame = m_pParent ? m_pParent : this;
- pKeyboardFrame->grabKeyboard(false);
- grabPointer(false);
- for (auto i = m_aGrabWidgetsBeforeShowFloat.rbegin(); i != m_aGrabWidgetsBeforeShowFloat.rend(); ++i)
- gtk_grab_add(*i);
- m_aGrabWidgetsBeforeShowFloat.clear();
+ GdkDeviceManager* pDeviceManager = gdk_display_get_device_manager(getGdkDisplay());
+ GdkDevice* pPointer = gdk_device_manager_get_client_pointer(pDeviceManager);
+ GdkDevice* pKeyboard = gdk_device_get_associated_device(pPointer);
+ gtk_device_grab_remove(m_pParent->getWindow(), pKeyboard);
+ gtk_device_grab_remove(m_pParent->getWindow(), pPointer);
}
}
gtk_widget_hide( m_pWindow );