summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2010-11-04 13:39:33 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2010-11-04 13:39:33 +0100
commit3d25681eb65376f35a051196dfd316c6fcbc7fa9 (patch)
treead44a6507d36626d77e96047dd1c4e3207e31313 /src
parent2c6e80e1741707fec58bb3e5c114079a9d7ccaa5 (diff)
downloadpa-sink-ctl-3d25681eb65376f35a051196dfd316c6fcbc7fa9.tar.gz
pa-sink-ctl-3d25681eb65376f35a051196dfd316c6fcbc7fa9.tar.bz2
pa-sink-ctl-3d25681eb65376f35a051196dfd316c6fcbc7fa9.zip
get_input: only handle inputs, when context is ready
Diffstat (limited to 'src')
-rw-r--r--src/interface.c4
-rw-r--r--src/pa-sink-ctl.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/interface.c b/src/interface.c
index a4a03cb..15a8fbb 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -16,6 +16,7 @@
#define H_MSG_BOX 3
extern pa_context* context;
+extern gboolean context_ready;
static WINDOW *menu_win;
static WINDOW *msg_win;
@@ -167,6 +168,9 @@ gboolean get_input(gpointer data)
gint c;
gboolean volume_increment = TRUE;
+ if (!context_ready)
+ return FALSE;
+
c = wgetch(menu_win);
switch (c) {
case 'k':
diff --git a/src/pa-sink-ctl.c b/src/pa-sink-ctl.c
index 02a58ab..102a78c 100644
--- a/src/pa-sink-ctl.c
+++ b/src/pa-sink-ctl.c
@@ -8,6 +8,7 @@
#include "pa-sink-ctl.h"
pa_context *context = NULL;
+gboolean context_ready = FALSE;
static gboolean info_callbacks_finished = TRUE;
static gboolean info_callbacks_blocked = FALSE;
@@ -69,6 +70,7 @@ static void subscribe_cb(pa_context *c, pa_subscription_event_type_t t, guint32
void context_state_callback(pa_context *c, gpointer userdata)
{
static pa_operation *o = NULL;
+ context_ready = FALSE;
switch (pa_context_get_state(c)) {
case PA_CONTEXT_CONNECTING:
status("connecting...");
@@ -86,6 +88,7 @@ void context_state_callback(pa_context *c, gpointer userdata)
g_assert((o = pa_context_subscribe(c, (pa_subscription_mask_t) (
PA_SUBSCRIPTION_MASK_SINK | PA_SUBSCRIPTION_MASK_SINK_INPUT
), NULL, NULL)));
+ context_ready = TRUE;
status("ready to process events.");
break;
case PA_CONTEXT_FAILED: