]> git.sesse.net Git - ccbs/blobdiff - bigscreen/ccbs_bigscreen.cpp
In RotateScreen destructor, do not leak subscreen surfaces.
[ccbs] / bigscreen / ccbs_bigscreen.cpp
index 2694e3711850820c72904153a5ef762e298a3252..7165bc393006f1843c406bb28943ec04bdfa8652 100644 (file)
@@ -39,8 +39,6 @@ void init(pqxx::connection &conn)
        }
        screens.erase(screens.begin(), screens.end());
 
-       bool show_only_main_screen = (USE_SPLITSCREEN && screens.size() == 1);
-
 #if !USE_SPLITSCREEN
        RotateScreen *rs = new RotateScreen();
        mainscreen = rs;
@@ -69,6 +67,8 @@ void init(pqxx::connection &conn)
                }
        }
 
+       bool show_only_main_screen = (USE_SPLITSCREEN && screens.size() == 1);
+
        /*
         * Show auxilliary screens except if we have too many already,
         * or if we're in the special split-screen end-tournament mode,
@@ -144,7 +144,7 @@ void main_loop(pqxx::connection &conn)
        }
 
        if (mainscreen && mainscreen->check_invalidated()) {
-               if (screen->pitch == SCREEN_WIDTH) {
+               if (screen->pitch == SCREEN_WIDTH * 4) {
                        SDL_LockSurface(screen);
                        mainscreen->draw((unsigned char *)screen->pixels, SCREEN_WIDTH, SCREEN_HEIGHT);
                        SDL_UnlockSurface(screen);