X-Git-Url: https://harishankar.org/repos/?p=wordblah.git;a=blobdiff_plain;f=wordblah_player.c;fp=wordblah_player.c;h=2107a1151b2da8ad74257d21963d7c0cb82a8a44;hp=08db02e6b7614111f3491b477f0d1248870975fb;hb=89e08816eea395375fa364aab6adb126378c2c56;hpb=45f36755d87b858fd2d22ae239fed24d3f4faae9 diff --git a/wordblah_player.c b/wordblah_player.c index 08db02e..2107a11 100644 --- a/wordblah_player.c +++ b/wordblah_player.c @@ -554,7 +554,30 @@ void on_menu_load_grid_state_activate (GtkMenuItem *item, GtkDrawingArea *area) { char *filename; filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); - load_user_data (&app_data, filename); + MainPlayerData temp; + load_user_data (&temp, filename); + /* if the puzzle file is invalid or the grid is frozen */ + if (temp.puzzle.grid_size == 0 || + temp.puzzle.grid_frozen == false) + { + GtkWidget *errordlg; + char message[256]; + if (temp.puzzle.grid_size == 0) + strcpy (message, INVALID_PUZZLE); + else + strcpy (message, UNFROZEN_GRID_PLAYER); + + errordlg = gtk_message_dialog_new (GTK_WINDOW(main_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + "%s",message); + gtk_dialog_run (GTK_DIALOG(errordlg)); + gtk_widget_destroy (errordlg); + + } + else + app_data = temp; g_free (filename); }