Ticket #1123: wm-test.patch

File wm-test.patch, 1.8 KB (added by benzea, 15 years ago)

Patch that adds error traps to wm.py

  • src/sugar/wm.py

    diff --git a/src/sugar/wm.py b/src/sugar/wm.py
    index d813d94..23310c3 100644
    a b import gtk 
    2323
    2424
    2525def get_activity_id(wnck_window):
     26    gtk.gdk.error_trap_push()
     27
    2628    window = gtk.gdk.window_foreign_new(wnck_window.get_xid())
    2729    prop_info = window.property_get('_SUGAR_ACTIVITY_ID', 'STRING')
     30
     31    if gtk.gdk.error_trap_pop():
     32        raise "X Error while retrieving the _SUGAR_ACTIVITY_ID from window %i" \
     33               % wnck_window.get_xid()
     34
    2835    if prop_info is None:
    2936        return None
    3037    else:
    def get_activity_id(wnck_window): 
    3239
    3340
    3441def get_bundle_id(wnck_window):
     42    gtk.gdk.error_trap_push()
     43
    3544    window = gtk.gdk.window_foreign_new(wnck_window.get_xid())
    3645    prop_info = window.property_get('_SUGAR_BUNDLE_ID', 'STRING')
     46
     47    if gtk.gdk.error_trap_pop():
     48        raise "X Error while retrieving the _SUGAR_BOUNDLE_ID from window %i" \
     49               % wnck_window.get_xid()
     50
    3751    if prop_info is None:
    3852        return None
    3953    else:
    def get_bundle_id(wnck_window): 
    4155
    4256
    4357def set_activity_id(window, activity_id):
     58    gtk.gdk.error_trap_push()
     59
    4460    window.property_change('_SUGAR_ACTIVITY_ID', 'STRING', 8,
    4561                           gtk.gdk.PROP_MODE_REPLACE, activity_id)
    4662
     63    if gtk.gdk.error_trap_pop():
     64        raise "Could not set the _SUGAR_ACTIVITY_ID on the window to %s" \
     65               % activity_id
     66
    4767
    4868def set_bundle_id(window, bundle_id):
     69    gtk.gdk.error_trap_push()
     70
    4971    window.property_change('_SUGAR_BUNDLE_ID', 'STRING', 8,
    5072                           gtk.gdk.PROP_MODE_REPLACE, bundle_id)
     73
     74    if gtk.gdk.error_trap_pop():
     75        raise "Could not set the _SUGAR_BOUNDLE_ID on the window to %s" \
     76               % activity_id
     77