diff options
Diffstat (limited to 'src/beaver-target-qemu.c')
-rw-r--r-- | src/beaver-target-qemu.c | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/src/beaver-target-qemu.c b/src/beaver-target-qemu.c index e45a799..b98e780 100644 --- a/src/beaver-target-qemu.c +++ b/src/beaver-target-qemu.c @@ -281,8 +281,15 @@ beaver_target_qemu_set_state (BeaverTarget *target, BeaverTargetState state) BeaverTargetQEMU *btq = BEAVER_TARGET_QEMU (target); BeaverTargetQEMUPrivate *priv = TARGET_QEMU_PRIVATE (btq); - priv->state = state; - g_signal_emit_by_name (btq, "state-changed"); + /* We've been asked to go into READY state, but are we really ready... */ + if (state == TARGET_STATE_READY && + !anjuta_launcher_is_busy (priv->launcher)) + { + /* do nothing */ + } else { + priv->state = state; + g_signal_emit_by_name (btq, "state-changed"); + } } static void @@ -306,29 +313,6 @@ launcher_data_cb (AnjutaLauncher *launcher, g_warning ("No message view to append to."); } } -/* -static void -action_shutdown_qemu_activate_cb (GtkAction *actio, gpointer userdata) -{ - AnjutaPluginSdk *sp = (AnjutaPluginSdk *)userdata; - gchar *args[] = { "ssh", SSH_OPTIONS, - "root@"QEMU_IP_ADDRESS, "reboot", NULL}; - - if (!sp->remote_launcher) - { - sp->remote_launcher = anjuta_launcher_new (); - g_signal_connect (sp->remote_launcher, "child-exited", - (GCallback)remote_launcher_child_exited_cb, sp); - } - - if (anjuta_launcher_execute_v (sp->remote_launcher, args, NULL, NULL)) - { - gtk_action_set_sensitive (sp->qemu_shutdown_action, FALSE); - } else { - g_warning ("Error whilst launching reboot (for shutdown) command"); - } -} -*/ static void launcher_child_exited_cb (AnjutaLauncher *launcher, gint child_pid, |