diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index cccd2c579f..721703ef93 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -514,6 +514,10 @@ Desktop::Init() fVirtualScreen.SetConfiguration(*this, fWorkspaces[0].CurrentScreenConfiguration()); + float brightness = fWorkspaces[0].StoredScreenConfiguration().Brightness(0); + if (brightness > 0) + HWInterface()->SetBrightness(brightness); + if (fVirtualScreen.HWInterface() == NULL) { debug_printf("Could not initialize graphics output. Exiting.\n"); return B_ERROR; diff --git a/src/servers/app/ScreenConfigurations.cpp b/src/servers/app/ScreenConfigurations.cpp index d326250956..386c8cd216 100644 --- a/src/servers/app/ScreenConfigurations.cpp +++ b/src/servers/app/ScreenConfigurations.cpp @@ -153,6 +153,14 @@ ScreenConfigurations::SetBrightness(int32 id, float brightness) } +float +ScreenConfigurations::Brightness(int32 id) +{ + screen_configuration* configuration = fConfigurations.ItemAt(0); + return configuration->brightness; +} + + void ScreenConfigurations::Remove(screen_configuration* configuration) { diff --git a/src/servers/app/ScreenConfigurations.h b/src/servers/app/ScreenConfigurations.h index 7eb9fc51b0..b992b72893 100644 --- a/src/servers/app/ScreenConfigurations.h +++ b/src/servers/app/ScreenConfigurations.h @@ -39,6 +39,7 @@ public: const BRect& frame, const display_mode& mode); void SetBrightness(int32 id, float brightness); + float Brightness(int32 id); void Remove(screen_configuration* configuration); status_t Store(BMessage& settings) const; diff --git a/src/servers/app/VirtualScreen.cpp b/src/servers/app/VirtualScreen.cpp index 1f6c37cdb4..94a9e1e1f2 100644 --- a/src/servers/app/VirtualScreen.cpp +++ b/src/servers/app/VirtualScreen.cpp @@ -142,13 +142,6 @@ VirtualScreen::AddScreen(Screen* screen, ScreenConfigurations& configurations) fFrame = screen->Frame(); item->frame = fFrame; - screen_configuration* config = configurations.CurrentByID(screen->ID()); - if (config) { - float brightness = config->brightness; - if (brightness > 0) - fHWInterface->SetBrightness(brightness); - } - fScreenList.AddItem(item); return B_OK;