def _remove_event_compression_workarounds(self): """Removes all workarounds for the motion event compression bug""" msg_prefix = "Remove motion event compression workaround: " for tdw, drawstate in self._drawing_state.iteritems(): win = tdw.get_window() workaround_used = drawstate.event_compression_workaround if workaround_used == EVCOMPRESSION_WORKAROUND_DISABLE_VIA_API: mcomp = drawstate.event_compression_was_enabled assert mcomp is not None logger.debug( msg_prefix + "restoring event_compression to %r (%r)", mcomp, tdw, ) win.set_event_compression(mcomp) elif workaround_used == EVCOMPRESSION_WORKAROUND_EVHACK_FILTER: drawstate = self._get_drawing_state(tdw) data = drawstate.evhack_data assert data is not None logger.warning(msg_prefix + "removing evhack filter %r", data) mypaintlib.evhack_gdk_window_remove_filter(win, data) drawstate.evhack_data = None drawstate.evhack_positions = [] else: logger.warning(msg_prefix + "no workaround to disable") drawstate.event_compression_workaround = None
def _remove_event_compression_workarounds(self): """Removes all workarounds for the motion event compression bug""" msg_prefix = "Remove motion event compression workaround: " for tdw, drawstate in self._drawing_state.iteritems(): win = tdw.get_window() workaround_used = drawstate.event_compression_workaround if workaround_used == EVCOMPRESSION_WORKAROUND_DISABLE_VIA_API: mcomp = drawstate.event_compression_was_enabled assert mcomp is not None logger.debug( msg_prefix + "restoring event_compression to %r (%r)", mcomp, tdw, ) win.set_event_compression(mcomp) elif workaround_used == EVCOMPRESSION_WORKAROUND_EVHACK_FILTER: drawstate = self._get_drawing_state(tdw) data = drawstate.evhack_data assert data is not None logger.warning(msg_prefix + "removing evhack filter %r", data) mypaintlib.evhack_gdk_window_remove_filter(win, data) drawstate.evhack_data = None drawstate.evhack_positions = [] else: logger.warning(msg_prefix + "no workaround to disable") drawstate.event_compression_workaround = None
def _remove_evhacks(self): for tdw, drawstate in self._drawing_state.iteritems(): win = tdw.get_window() drawstate = self._get_drawing_state(tdw) data = drawstate.evhack_data if data is None: continue logger.debug("Removing evhack filter %r", data) mypaintlib.evhack_gdk_window_remove_filter(win, data) drawstate.evhack_data = None drawstate.evhack_positions = []
def _remove_evhacks(self): for tdw, drawstate in self._drawing_state.iteritems(): win = tdw.get_window() if hasattr(win, 'set_event_compression'): # GTK+ 3.12 and above drawstate.evhack_data = None else: drawstate = self._get_drawing_state(tdw) data = drawstate.evhack_data if data is None: continue logger.debug("Removing evhack filter %r", data) mypaintlib.evhack_gdk_window_remove_filter(win, data) drawstate.evhack_data = None drawstate.evhack_positions = []
def _remove_evhacks(self): for tdw, drawstate in self._drawing_state.iteritems(): win = tdw.get_window() if hasattr(win, 'set_event_compression'): # GTK+ 3.12 and above drawstate.evhack_data = None else: drawstate = self._get_drawing_state(tdw) data = drawstate.evhack_data if data is None: continue logger.debug("Removing evhack filter %r", data) mypaintlib.evhack_gdk_window_remove_filter(win, data) drawstate.evhack_data = None drawstate.evhack_positions = []