From 7bdc7eec03d12377f6928b49887697a8f9fbc9dc Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Thu, 30 Jul 2015 19:14:13 +0200 Subject: [PATCH] Media: Refresh window also at QUIT event. * Since the Media preferences are always watching for media status, it's good to clean up the window when the media services are not running. This avoid the user try to use controls where services are down. --- src/preferences/media/MediaWindow.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/preferences/media/MediaWindow.cpp b/src/preferences/media/MediaWindow.cpp index 05a951bbfd..30ab05126e 100644 --- a/src/preferences/media/MediaWindow.cpp +++ b/src/preferences/media/MediaWindow.cpp @@ -192,6 +192,8 @@ MediaWindow::MediaWindow(BRect frame) BMediaRoster* roster = BMediaRoster::Roster(); roster->StartWatching(BMessenger(this, this), B_MEDIA_SERVER_STARTED); + roster->StartWatching(BMessenger(this, this), + B_MEDIA_SERVER_QUIT); } @@ -217,6 +219,8 @@ MediaWindow::~MediaWindow() BMediaRoster* roster = BMediaRoster::CurrentRoster(); roster->StopWatching(BMessenger(this, this), B_MEDIA_SERVER_STARTED); + roster->StartWatching(BMessenger(this, this), + B_MEDIA_SERVER_QUIT); } @@ -337,6 +341,7 @@ MediaWindow::MessageReceived(BMessage* message) resume_thread(fRestartThread); break; } + case B_MEDIA_WEB_CHANGED: case ML_SELECTED_NODE: { @@ -352,12 +357,15 @@ MediaWindow::MessageReceived(BMessage* message) item->AlterWindow(this); break; } + case B_MEDIA_SERVER_STARTED: + case B_MEDIA_SERVER_QUIT: { PRINT_OBJECT(*message); _InitMedia(false); break; } + default: BWindow::MessageReceived(message); break;