From 1ad18684bbc5420a8251493e0407ac7cfb55c6f4 Mon Sep 17 00:00:00 2001 From: Janus Date: Thu, 4 Jun 2015 18:23:20 +0200 Subject: [PATCH] Background: avoid 100% CPU usage * There was an infinite exchange of messages between the main window and the BackgroundView. * Fixes #11996. --- src/preferences/backgrounds/Backgrounds.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/preferences/backgrounds/Backgrounds.cpp b/src/preferences/backgrounds/Backgrounds.cpp index f54837432c..84836d3ee3 100644 --- a/src/preferences/backgrounds/Backgrounds.cpp +++ b/src/preferences/backgrounds/Backgrounds.cpp @@ -30,7 +30,6 @@ public: BackgroundsWindow(); void RefsReceived(BMessage* message); - void MessageReceived(BMessage* message); protected: virtual bool QuitRequested(); @@ -70,6 +69,7 @@ BackgroundsApplication::MessageReceived(BMessage* message) { const void *data; ssize_t size; + if (message->WasDropped() && message->FindData("RGBColor", B_RGB_COLOR_TYPE, &data, &size) == B_OK) { // This is the desktop telling us that it was changed by a color drop @@ -125,13 +125,6 @@ BackgroundsWindow::RefsReceived(BMessage* message) } -void -BackgroundsWindow::MessageReceived(BMessage* message) -{ - BMessenger(fBackgroundsView).SendMessage(message); -} - - bool BackgroundsWindow::QuitRequested() {