From e4704eb6f90e636f2dadcd29ea10af9140f7468c Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Fri, 22 Apr 2016 13:04:15 +0200 Subject: [PATCH] MediaDefs/MediaRoster: Increase code consistency * Also fix a possible issue with List::Get, the code returned after a Get() error. While I doubt if this happens the next items will be still valid, I prefer to continue until we reach the end of the items, and in case of a SyncToRoster request we will at least get the list empty. We might have a blocking call on the other end, so it's our own duty to at least try to avoid this in any case. As final result at least we will get the list empty. --- src/kits/media/MediaDefs.cpp | 8 ++++---- src/kits/media/MediaRoster.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/kits/media/MediaDefs.cpp b/src/kits/media/MediaDefs.cpp index d077e7684b..f23feb1343 100644 --- a/src/kits/media/MediaDefs.cpp +++ b/src/kits/media/MediaDefs.cpp @@ -1299,12 +1299,12 @@ shutdown_media_server(bigtime_t timeout, { BMessage msg(B_QUIT_REQUESTED); BMessage reply; - status_t err; + status_t err = B_MEDIA_SYSTEM_FAILURE; bool shutdown = false; - BMediaRoster* roster = BMediaRoster::Roster(); - if (roster == NULL) - return B_ERROR; + BMediaRoster* roster = BMediaRoster::Roster(&err); + if (roster == NULL || err != B_OK) + return err; if (progress == NULL && roster->Lock()) { MediaRosterEx(roster)->EnableLaunchNotification(true, true); diff --git a/src/kits/media/MediaRoster.cpp b/src/kits/media/MediaRoster.cpp index 1bef3300af..59e2f2c31f 100644 --- a/src/kits/media/MediaRoster.cpp +++ b/src/kits/media/MediaRoster.cpp @@ -3555,10 +3555,10 @@ BMediaRoster::MessageReceived(BMessage* message) BMessage reply; for (int32 i = 0; i < sSyncedMessages.CountItems(); i++) { SyncedMessage* msg; - if (sSyncedMessages.Get(i, &msg) != true) - return; - msg->message->SendReply(&reply); - delete msg->message; + if (sSyncedMessages.Get(i, &msg) == true) { + msg->message->SendReply(&reply); + delete msg->message; + } sSyncedMessages.Remove(i); }