screen: initialise displays_ vector with available displays

This commit is contained in:
deepak1556 2015-05-16 22:05:56 +05:30
parent 71ee864d1d
commit 3ecfadf367

View file

@ -48,6 +48,7 @@ std::vector<std::string> MetricsToArray(uint32_t metrics) {
} // namespace } // namespace
Screen::Screen(gfx::Screen* screen) : screen_(screen) { Screen::Screen(gfx::Screen* screen) : screen_(screen) {
displays_ = screen_->GetAllDisplays();
screen_->AddObserver(this); screen_->AddObserver(this);
} }
@ -64,11 +65,6 @@ gfx::Display Screen::GetPrimaryDisplay() {
} }
std::vector<gfx::Display> Screen::GetAllDisplays() { std::vector<gfx::Display> Screen::GetAllDisplays() {
// The Screen::GetAllDisplays doesn't update when there is display added or
// removed, so we have to manually maintain the displays_ to make it up to
// date.
if (displays_.size() == 0)
displays_ = screen_->GetAllDisplays();
return displays_; return displays_;
} }