Changeset 158 in xpra
- Timestamp:
- 09/07/11 10:32:12 (22 months ago)
- Location:
- trunk/src/xpra
- Files:
-
- 2 edited
-
protocol.py (modified) (1 diff)
-
server.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/xpra/protocol.py
r156 r158 83 83 self._source_has_more = False 84 84 self._recv_counter = 0 85 self.closing = False 85 86 self._closed = False 86 87 self._read_decoder = IncrBDecode() -
trunk/src/xpra/server.py
r154 r158 617 617 break 618 618 619 def _clear_keys_pressed(self): 620 if len(self.keys_pressed)>0: 621 log.debug("clearing keys pressed: %s" % str(self.keys_pressed)) 622 for keycode in self.keys_pressed.keys(): 623 xtest_fake_key(gtk.gdk.display_get_default(), keycode, False) 624 self.keys_pressed = {} 625 619 626 def _focus(self, id, modifiers): 620 627 log.debug("_focus(%s,%s)" % (id, modifiers)) 621 628 if self._has_focus != id: 622 629 if id == 0: 623 #clear any keys that were pressed: 624 if len(self.keys_pressed)>0: 625 log.debug("focus event: clearing keys pressed: %s" % str(self.keys_pressed)) 626 for keycode in self.keys_pressed.keys(): 627 xtest_fake_key(gtk.gdk.display_get_default(), keycode, False) 628 self.keys_pressed = {} 630 self._clear_keys_pressed() 629 631 # FIXME: kind of a hack: 630 632 self._wm.get_property("toplevel").reset_x_focus() … … 790 792 if self._protocol is not None: 791 793 log.info("Disconnecting existing client") 794 #ensure that from now on we ignore any incoming packets coming 795 #from this connection as these could potentially set some keys pressed, etc 796 self._protocol.closing = True 797 self._clear_keys_pressed() 792 798 # send message asking for disconnection politely: 793 799 self._protocol.source.send_packet_now(["disconnect", "new valid connection received"]) … … 984 990 if proto is self._protocol: 985 991 log.info("xpra client disconnected.") 992 self._clear_keys_pressed() 986 993 self._protocol = None 987 994 sys.stdout.flush() … … 1014 1021 def process_packet(self, proto, packet): 1015 1022 packet_type = packet[0] 1023 if self._protocol and self._protocol.closing: 1024 log.debug("ignoring %s packet on socket which is closing" % packet_type) 1025 return 1016 1026 if (isinstance(packet_type, str) 1017 1027 and packet_type.startswith("clipboard-")):
Note: See TracChangeset
for help on using the changeset viewer.