vcl/source/window/seleng.cxx | 2 +- vcl/source/window/toolbox.cxx | 6 ++++-- vcl/source/window/toolbox2.cxx | 6 ++++-- vcl/unx/gtk/gtksalframe.cxx | 14 ++++++++++++-- 4 files changed, 21 insertions(+), 7 deletions(-)
New commits: commit 503864037b2f6b73979f46d11df5d365b81f9dcf Author: Caolán McNamara <caol...@redhat.com> Date: Mon Nov 30 16:42:15 2015 +0000 gtk3: implement GetIndicatorState Change-Id: I006c739a9dc876dd9ec83375f76fd1343b39557a diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx index b465404..64994bf 100644 --- a/vcl/unx/gtk/gtksalframe.cxx +++ b/vcl/unx/gtk/gtksalframe.cxx @@ -2770,8 +2770,18 @@ KeyIndicatorState GtkSalFrame::GetIndicatorState() #if !GTK_CHECK_VERSION(3,0,0) return GetGtkSalData()->GetGtkDisplay()->GetIndicatorState(); #else - g_warning ("missing get indicator state"); - return KeyIndicatorState::NONE; + KeyIndicatorState nState = KeyIndicatorState::NONE; + + GdkKeymap *pKeyMap = gdk_keymap_get_for_display(getGdkDisplay()); + + if (gdk_keymap_get_caps_lock_state(pKeyMap)) + nState |= KeyIndicatorState::CAPSLOCK; + if (gdk_keymap_get_num_lock_state(pKeyMap)) + nState |= KeyIndicatorState::NUMLOCK; + if (gdk_keymap_get_scroll_lock_state(pKeyMap)) + nState |= KeyIndicatorState::SCROLLLOCK; + + return nState; #endif } commit a4e58b509828d806513217efc03134845629cccd Author: Caolán McNamara <caol...@redhat.com> Date: Mon Nov 30 16:18:35 2015 +0000 silence ReleaseMouse warning Change-Id: I615b4877ab29075ed45149259260acfb2563cad8 diff --git a/vcl/source/window/seleng.cxx b/vcl/source/window/seleng.cxx index 69b220b..6aefea1 100644 --- a/vcl/source/window/seleng.cxx +++ b/vcl/source/window/seleng.cxx @@ -280,7 +280,7 @@ bool SelectionEngine::SelMouseButtonUp( const MouseEvent& rMEvt ) void SelectionEngine::ReleaseMouse() { - if (!pWin) + if (!pWin || !pWin->IsMouseCaptured()) return; pWin->ReleaseMouse(); } diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index 4105b58..311d12e 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -1251,7 +1251,8 @@ void ImplTBDragMgr::Dragging( const Point& rPos ) void ImplTBDragMgr::EndDragging( bool bOK ) { mpDragBox->HideTracking(); - mpDragBox->ReleaseMouse(); + if (mpDragBox->IsMouseCaptured()) + mpDragBox->ReleaseMouse(); mpDragBox->mbDragging = false; mbShowDragRect = false; Application::RemoveAccel( &maAccel ); @@ -3346,7 +3347,8 @@ void ToolBox::ImplFloatControl( bool bStart, FloatingWindow* pFloatWindow ) mbDrag = false; EndTracking(); - ReleaseMouse(); + if (IsMouseCaptured()) + ReleaseMouse(); } else { diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx index dddb65f..2bcb44e 100644 --- a/vcl/source/window/toolbox2.cxx +++ b/vcl/source/window/toolbox2.cxx @@ -1335,7 +1335,8 @@ void ToolBox::EndSelection() if (mnCurPos != TOOLBOX_ITEM_NOTFOUND) InvalidateItem(mnCurPos); EndTracking(); - ReleaseMouse(); + if (IsMouseCaptured()) + ReleaseMouse(); Deactivate(); } @@ -1378,7 +1379,8 @@ void ToolBox::SetItemDown( sal_uInt16 nItemId, bool bDown, bool bRelease ) mbDrag = false; mbSelection = false; EndTracking(); - ReleaseMouse(); + if (IsMouseCaptured()) + ReleaseMouse(); Deactivate(); }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits