[Xfce4-commits] [panel-plugins/xfce4-whiskermenu-plugin] 03/09: Fix issues with detecting when to grab pointer.

noreply at xfce.org noreply at xfce.org
Sat Aug 20 18:33:28 CEST 2016


This is an automated email from the git hooks/post-receive script.

gottcode pushed a commit to annotated tag v1.0.2
in repository panel-plugins/xfce4-whiskermenu-plugin.

commit 850ff97c51d68e5fda3458e93c5fb216fc5de72b
Author: Graeme Gott <graeme at gottcode.org>
Date:   Sat Jun 29 15:23:54 2013 -0400

    Fix issues with detecting when to grab pointer.
---
 src/menu.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/menu.cpp b/src/menu.cpp
index 38a088d..eab06f3 100644
--- a/src/menu.cpp
+++ b/src/menu.cpp
@@ -425,6 +425,13 @@ void Menu::unset_items()
 
 gboolean Menu::on_enter_notify_event(GtkWidget*, GdkEventCrossing* event)
 {
+	if ( (event->detail == GDK_NOTIFY_INFERIOR)
+			|| (event->mode == GDK_CROSSING_GRAB)
+			|| (event->mode == GDK_CROSSING_GTK_GRAB) )
+	{
+		return false;
+	}
+
 	// Don't grab cursor over menu
 	if ((event->x_root >= m_geometry.x) && (event->x_root < (m_geometry.x + m_geometry.width))
 			&& (event->y_root >= m_geometry.y) && (event->y_root < (m_geometry.y + m_geometry.height)))
@@ -442,7 +449,8 @@ gboolean Menu::on_enter_notify_event(GtkWidget*, GdkEventCrossing* event)
 
 gboolean Menu::on_leave_notify_event(GtkWidget*, GdkEventCrossing* event)
 {
-	if (gdk_pointer_is_grabbed())
+	if ( (event->detail == GDK_NOTIFY_INFERIOR)
+			|| (event->mode != GDK_CROSSING_NORMAL) )
 	{
 		return false;
 	}
@@ -551,6 +559,8 @@ gboolean Menu::on_configure_event(GtkWidget*, GdkEventConfigure* event)
 {
 	if (event->width && event->height)
 	{
+		m_geometry.x = event->x;
+		m_geometry.y = event->y;
 		m_geometry.width = event->width;
 		m_geometry.height = event->height;
 	}

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list