Make sure we clean up stuff when a Mouse_Capture_Lost event arrives

This commit is contained in:
HomeWorld
2010-11-05 15:10:20 +02:00
parent 8b9802c21d
commit f6cb29953a

View File

@@ -1422,6 +1422,8 @@ class FitItem(wx.Window):
self.Bind(wx.EVT_LEFT_UP, self.checkPosition)
self.Bind(wx.EVT_LEFT_DOWN, self.prepareDragging)
self.Bind(wx.EVT_MOTION, self.cursorCheck)
self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.OnCaptureLost)
self.Bind(wx.EVT_ENTER_WINDOW, self.enterW)
self.Bind(wx.EVT_LEAVE_WINDOW, self.leaveW)
@@ -1432,6 +1434,12 @@ class FitItem(wx.Window):
self.Bind(wx.EVT_TIMER,self.OnTimer)
self.StartSelectedTimer()
def OnCaptureLost(self, event):
self.dragging = self.dragged = False
self.dragMotionTrigger = self.dragMotionTrail
if self.dragWindow:
self.dragWindow.Show(False)
def prepareDragging(self, event):
self.dragging = True
event.Skip()
@@ -1542,6 +1550,7 @@ class FitItem(wx.Window):
if self.HasCapture():
self.ReleaseMouse()
self.dragWindow.Show(False)
self.dragWindow = None
targetWnd = wx.FindWindowAtPointer()
msWnd = self.mainFrame.fitMultiSwitch