Fix a bug where all new screens would be cycled on start.
[ccbs] / bigscreen / rotatescreen.cpp
index 2ae7822..ef7fba0 100644 (file)
@@ -116,7 +116,7 @@ void RotateScreen::draw(unsigned char *buf)
                        gettimeofday(&last_update, NULL);
                }
 
-               if (current_screen != old_current_screen || subscreens[current_screen].screen->check_invalidated()) {
+               if (!valid || current_screen != old_current_screen || subscreens[current_screen].screen->check_invalidated()) {
                        // initialize a fade
                        in_fade = true;
                        fade_found_start_time = false;
@@ -153,6 +153,8 @@ void RotateScreen::add_screen(GenericScreen *screen)
        ss.buf = new unsigned char[800 * 600 * 4];
        ss.screen = screen;
 
+       screen->draw(ss.buf);
+       
        subscreens.push_back(ss);
 }