diff options
Diffstat (limited to 'gi/overrides/Gtk.py')
-rw-r--r-- | gi/overrides/Gtk.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py index 23d06adf..612c07da 100644 --- a/gi/overrides/Gtk.py +++ b/gi/overrides/Gtk.py @@ -118,10 +118,25 @@ def _builder_connect_callback(builder, gobj, signal_name, handler_name, connect_ gobj.connect(signal_name, handler, *args) +class _FreezeNotifyManager(object): + def __init__(self, obj): + self.obj = obj + + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_value, traceback): + self.obj.thaw_child_notify() + + class Widget(Gtk.Widget): translate_coordinates = strip_boolean_result(Gtk.Widget.translate_coordinates) + def freeze_child_notify(self): + super(Widget, self).freeze_child_notify() + return _FreezeNotifyManager(self) + def drag_dest_set_target_list(self, target_list): if (target_list is not None) and (not isinstance(target_list, Gtk.TargetList)): target_list = Gtk.TargetList.new(_construct_target_list(target_list)) |