[pitivi] viewer: Fix handle unhover when cursor leaves widget



commit 771daee0ba5f79273245db32943f14db80d468f3
Author: Alexandru Băluț <alexandru balut gmail com>
Date:   Tue May 7 07:45:49 2019 +0200

    viewer: Fix handle unhover when cursor leaves widget

 pitivi/viewer/move_scale_overlay.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/pitivi/viewer/move_scale_overlay.py b/pitivi/viewer/move_scale_overlay.py
index aa96887a..72040e06 100644
--- a/pitivi/viewer/move_scale_overlay.py
+++ b/pitivi/viewer/move_scale_overlay.py
@@ -149,8 +149,12 @@ class Handle:
         self.__update_window_position()
 
     def on_hover(self, cursor_pos):
-        distance = numpy.linalg.norm(self.__window_position - cursor_pos)
+        if cursor_pos is None:
+            # The cursor is out of the widget.
+            self.hovered = False
+            return
 
+        distance = numpy.linalg.norm(self.__window_position - cursor_pos)
         if distance < self.__radius:
             self.hovered = True
             self._overlay.stack.set_cursor(Handle.CURSORS[self.placement])
@@ -545,6 +549,11 @@ class MoveScaleOverlay(Overlay):
         self.queue_draw()
         return self._is_hovered()
 
+    def unhover(self):
+        if self.hovered_handle:
+            self.hovered_handle.on_hover(None)
+        Overlay.unhover(self)
+
     def update_from_source(self):
         self.__set_size(self.__get_source_size() / self.project_size)
         self.__set_position(self.__get_source_position() / self.project_size)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]