Unassigned local variable
This missing code …
+++ cambalache/cmb_db.py
@@ -1572,6 +1572,9 @@ class CmbDB(GObject.GObject):
obj = E.submenu()
elif type_id == GMENU_ITEM_TYPE:
obj = E.item()
+ else:
+ # XXX what should happen here?
+
… results in a crash:
Traceback (most recent call last):
File "/home/smurf/src/cambalache/cambalache/cmb_view.py", line 284, in __on_object_added
self.__merengue_update_ui(obj.ui_id)
File "/home/smurf/src/cambalache/cambalache/cmb_view.py", line 260, in __merengue_update_ui
ui = self.__get_ui_xml(ui_id, merengue=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smurf/src/cambalache/cambalache/cmb_view.py", line 231, in __get_ui_xml
return self.__project.db.tostring(ui_id, merengue=merengue)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smurf/src/cambalache/cambalache/cmb_db.py", line 2086, in tostring
ui = self.export_ui(ui_id, merengue=merengue)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smurf/src/cambalache/cambalache/cmb_db.py", line 2074, in export_ui
child = self.__export_object(ui_id, object_id, merengue=merengue, template_id=template_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smurf/src/cambalache/cambalache/cmb_db.py", line 1712, in __export_object
return self.__export_menu(ui_id, object_id, merengue=merengue, ignore_id=ignore_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smurf/src/cambalache/cambalache/cmb_db.py", line 1630, in __export_menu
child_obj = self.__export_menu(ui_id, child_id, merengue=merengue, ignore_id=ignore_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smurf/src/cambalache/cambalache/cmb_db.py", line 1635, in __export_menu
self.__export_custom_fragment(obj, custom_fragment)
^^^
UnboundLocalError: cannot access local variable 'obj' where it is not associated with a value