]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/xmas.c
ncurses 6.2 - patch 20210417
[ncurses.git] / test / xmas.c
index fbbf4f4fa796b469fa5b9a292dfa9979baf124f2..678c9e172e564ed3baa1a7e609e4d6456c9233d7 100644 (file)
@@ -92,7 +92,7 @@
 /******************************************************************************/
 
 /*
- * $Id: xmas.c,v 1.31 2017/09/08 09:21:02 tom Exp $
+ * $Id: xmas.c,v 1.36 2021/03/27 22:40:53 tom Exp $
  */
 #include <test.priv.h>
 
@@ -133,7 +133,7 @@ static WINDOW *w_holiday;
 static WINDOW *w_del_msg;
 static bool *my_pairs;
 
-static void done(int sig) GCC_NORETURN;
+static GCC_NORETURN void done(int sig);
 
 static void
 set_color(WINDOW *win, chtype color)
@@ -454,37 +454,31 @@ blinkit(void)
     switch (cycle) {
     case 0:
        overlay(treescrn3, treescrn8);
-       wrefresh(treescrn8);
-       wrefresh(w_del_msg);
        break;
     case 1:
        overlay(treescrn4, treescrn8);
-       wrefresh(treescrn8);
-       wrefresh(w_del_msg);
        break;
     case 2:
        overlay(treescrn5, treescrn8);
-       wrefresh(treescrn8);
-       wrefresh(w_del_msg);
        break;
     case 3:
        overlay(treescrn6, treescrn8);
-       wrefresh(treescrn8);
-       wrefresh(w_del_msg);
        break;
     case 4:
        overlay(treescrn7, treescrn8);
-       wrefresh(treescrn8);
-       wrefresh(w_del_msg);
        break;
     }
     touchwin(treescrn8);
+    wrefresh(treescrn8);
+    wrefresh(w_del_msg);
+    look_out(50);
 
     /*ALL ON************************************************** */
 
     overlay(treescrn, treescrn8);
     wrefresh(treescrn8);
     wrefresh(w_del_msg);
+    look_out(50);
 
     ++cycle;
     return (0);
@@ -506,9 +500,6 @@ reindeer(void)
     y_pos = 0;
 
     for (x_pos = 70; x_pos > 62; x_pos--) {
-       if (x_pos < 62) {
-           y_pos = 1;
-       }
        for (looper = 0; looper < 4; looper++) {
            MvWAddCh(dotdeer0, y_pos, x_pos, (chtype) '.');
            wrefresh(dotdeer0);
@@ -642,11 +633,9 @@ reindeer(void)
 static void
 done(int sig GCC_UNUSED)
 {
-    CATCHALL(done);
-
     move(LINES - 1, 0);
     refresh();
-    exit_curses();
+    stop_curses();
 
 #if NO_LEAKS
     if (my_pairs != 0)
@@ -705,13 +694,11 @@ main(int argc, char *argv[])
 
     setlocale(LC_ALL, "");
 
-    initscr();
+    InitAndCatch(initscr(), done);
     noecho();
     nonl();
     refresh();
 
-    CATCHALL(done);
-
     if (has_colors()) {
        start_color();
 #if HAVE_USE_DEFAULT_COLORS
@@ -759,7 +746,7 @@ main(int argc, char *argv[])
        (w_holiday = newwin(1, 26, 3, 27)) == 0 ||
 
        (w_del_msg = newwin(1, 19, 23, 60)) == 0) {
-       exit_curses();
+       stop_curses();
        fprintf(stderr, "Cannot create windows - screen too small\n");
        ExitProgram(EXIT_FAILURE);
     }