summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2013-04-27 13:22:34 +0200
committerSebastian Reichel <sre@ring0.de>2013-04-27 13:22:34 +0200
commitc20b0d8bb608812785fd4434402dbd7c6a9b9266 (patch)
tree06d59f90a61b032bc91d514b2103bf1f053334d8
parentf7ef78d1aad4ff9812090ae14d99f20207e4703a (diff)
downloadserial-barcode-scanner-c20b0d8bb608812785fd4434402dbd7c6a9b9266.tar.bz2
do not wait for audio stream on ui exit
-rw-r--r--src/curses-ui/main.vala15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/curses-ui/main.vala b/src/curses-ui/main.vala
index 00ca9fb..6a89db4 100644
--- a/src/curses-ui/main.vala
+++ b/src/curses-ui/main.vala
@@ -21,14 +21,23 @@ public CursesUI ui;
private static void play(string file) {
try {
audio.play_system(file);
- } catch(IOError e) { }
+ } catch(IOError e) {
+ ui.log("could not play audio: %s".printf(e.message));
+ }
}
public void msg_handler(MessageType type, string message) {
ui.log(message);
}
+public void log_handler(string? log_domain, LogLevelFlags flags, string message) {
+ ui.log(message);
+}
+
public static int main(string[] args) {
+ loop = new MainLoop();
+
+ Log.set_default_handler(log_handler);
/* handle unix signals */
Unix.signal_add(Posix.SIGTERM, handle_signals);
@@ -54,10 +63,6 @@ public static int main(string[] args) {
ui.log("Stopping Shop System");
play("shutdown.ogg");
- /* we need to run the mainloop to play audio */
- audio.end_of_stream.connect(() => { loop.quit(); });
- loop.run();
-
/* leave curses mode */
ui.exit();