Commit Diff


commit - cfe43f11aad4f78fc47823071225626394911154
commit + 950ad05c9455b40538ac23e8369f35c6c84eb74d
blob - 77c3382220691b28d685ac3ef8b30bc8e0398238
blob + 83713210db4d772f501056da7a0bd5ad9fa0bebe
--- control.c
+++ control.c
@@ -259,12 +259,14 @@ control_dispatch_imsg(int fd, short event, void *bula)
 				if (song == NULL)
 					break;
 				/* XXX: watch out for failures! */
+				play_state = STATE_PLAYING;
 				main_play_song(song);
 				break;
 			case STATE_PLAYING:
 				/* do nothing */
 				break;
 			case STATE_PAUSED:
+				play_state = STATE_PLAYING;
 				main_send_player(IMSG_RESUME, -1, NULL, 0);
 				break;
 			}
@@ -289,6 +291,7 @@ control_dispatch_imsg(int fd, short event, void *bula)
 		case IMSG_CTL_PAUSE:
 			if (play_state != STATE_PLAYING)
 				break;
+			play_state = STATE_PAUSED;
 			main_send_player(IMSG_PAUSE, -1, NULL, 0);
 			break;
 		case IMSG_CTL_STOP: