|
@@ -209,10 +209,16 @@ activity_manager.create(TransactionEditor, 'transaction',
|
|
|
lambda widget, name, data: _autocomplete_callback(activity_manager, query_manager, widget, name, data),
|
|
|
lambda name, value: _apply_choice_callback(activity_manager, 'transaction', name, value))
|
|
|
|
|
|
-app = GroceryTransactionEditor(activity_manager, cur, log)
|
|
|
+app = None
|
|
|
+try:
|
|
|
+ app = GroceryTransactionEditor(activity_manager, cur, log)
|
|
|
+
|
|
|
+ loop = urwid.MainLoop(app, palette, unhandled_input=show_or_exit, pop_ups=True)
|
|
|
|
|
|
-loop = urwid.MainLoop(app, palette, unhandled_input=show_or_exit, pop_ups=True)
|
|
|
-loop.run()
|
|
|
+ loop.run()
|
|
|
+finally:
|
|
|
+ if app is not None:
|
|
|
+ app.close()
|
|
|
|
|
|
cur.close()
|
|
|
conn.close()
|