[pitivi] overlay_stack: Always propagate button-release event to selected overlay.



commit 6f109a39f73b66b69c57304a751802eadfba0523
Author: Stefan Popa <stefanpopa2209 gmail com>
Date:   Tue Aug 1 17:16:52 2017 +0300

    overlay_stack: Always propagate button-release event to selected overlay.
    
    Make sure the button-release event is propagated to the selected
    overlay even if the release happened outside of the viewer. Otherwise,
    the started UndoableAction is not commited.
    
    Fixes T7800.
    
    Differential Revision: https://phabricator.freedesktop.org/D1817

 pitivi/viewer/overlay_stack.py |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/pitivi/viewer/overlay_stack.py b/pitivi/viewer/overlay_stack.py
index 87a39e1..9e8abde 100644
--- a/pitivi/viewer/overlay_stack.py
+++ b/pitivi/viewer/overlay_stack.py
@@ -70,13 +70,12 @@ class OverlayStack(Gtk.Overlay, Loggable):
     def do_event(self, event):
         if event.type == Gdk.EventType.BUTTON_RELEASE:
             cursor_position = numpy.array([event.x, event.y])
-            # reset the cursor if we are outside of the viewer
             self.click_position = None
-            if (cursor_position < numpy.zeros(2)).any() or (cursor_position > self.window_size).any():
-                self.reset_cursor()
-                return
             if self.selected_overlay:
                 self.selected_overlay.on_button_release(cursor_position)
+            # reset the cursor if we are outside of the viewer
+            if (cursor_position < numpy.zeros(2)).any() or (cursor_position > self.window_size).any():
+                self.reset_cursor()
         elif event.type == Gdk.EventType.LEAVE_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL:
             # If we have a click position, the user is dragging, so we don't want to lose focus and return
             if isinstance(self.click_position, numpy.ndarray):


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