grab early in the cycle so that we dont miss the modifier release

This commit is contained in:
Dana Jansens 2003-02-08 08:19:10 +00:00
parent 188e5cd537
commit a81b967475

View file

@ -174,6 +174,12 @@ class _cycledata:
def cycle(self, data, forward): def cycle(self, data, forward):
if not self.cycling: if not self.cycling:
ob.kgrab(data.screen, _grabfunc)
# the pointer grab causes pointer events during the keyboard grab
# to go away, which means we don't get enter notifies when the
# popup disappears, screwing up the focus
ob.mgrab(data.screen)
self.cycling = 1 self.cycling = 1
focus._disable = 1 focus._disable = 1
self.state = data.state self.state = data.state
@ -184,12 +190,6 @@ class _cycledata:
self.clients = [] # so it doesnt try start partway through the list self.clients = [] # so it doesnt try start partway through the list
self.populatelist() self.populatelist()
ob.kgrab(self.screen.number(), _grabfunc)
# the pointer grab causes pointer events during the keyboard grab
# to go away, which means we don't get enter notifies when the
# popup disappears, screwing up the focus
ob.mgrab(self.screen.number())
if not len(self.clients): return # don't both doing anything if not len(self.clients): return # don't both doing anything
self.menuwidgets[self.menupos].setHighlighted(0) self.menuwidgets[self.menupos].setHighlighted(0)