def paint(self, canvas): if g15pythonlang.is_gobject_thread(): raise Exception("Painting on mainloop") self.start_for_capture() gobject.idle_add(self._do_capture) self.lock.acquire() canvas.save() canvas.translate(self.area_x, self.area_y) canvas.set_source_surface(self.surface) canvas.paint() canvas.restore()
def paint(self, canvas): if g15pythonlang.is_gobject_thread(): raise Exception("Painting on mainloop") self.start_for_capture() gobject.idle_add(self._do_capture) self.lock.acquire() canvas.save() canvas.translate(self.area_x, self.area_y) canvas.set_source_surface(self.surface) canvas.paint() canvas.restore()
def retrieve_password(self, account, hostname = None, port = None, force_dialog = False): _, name = self.get_uri_and_props(account, hostname, port) ''' Find the item. It appears gnome keyring access must be run on the gobject loop? I don't really understand the problem, but doing this seems to fix it TODO find out what is actually happening ''' if g15pythonlang.is_gobject_thread(): self.find_secret(account, name, False) else: self.lock.acquire() self.password = None gobject.idle_add(self.find_secret, account, name) self.lock.acquire() self.lock.release() if self.password != None: return self.password
def is_gobject_thread(): return g15pythonlang.is_gobject_thread()