changeset 433:1c7c804e9c82 src

Prevent general CPP macro from causing strange behavior. Roger Pack reported that when playing the DVD "Tangled" w/ mplayer and recent libdvdnav, mplayer crashes w/ the error message: Assertion failed: (vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_mode != 0, file libdvdnav/vm/vm.c, line 1141 This line should only be triggered when a developer wants a "strict" build of the library. Most likely using the very general term STRICT to #ifdef this clause is what is causing this issue. This patch adds a DVDNAV_ in front of the strict to prevent the macro from being enabled accidentally. Patch by Erik Hovland.
author rathann
date Sun, 06 Oct 2013 20:54:43 +0000
parents 9ec21bb5556e
children 264c5b900bfb
files vm/vm.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/vm/vm.c	Sun Oct 06 20:47:20 2013 +0000
+++ b/vm/vm.c	Sun Oct 06 20:54:43 2013 +0000
@@ -59,7 +59,7 @@
 #endif
 
 /*
-#define STRICT
+#define DVDNAV_STRICT
 */
 
 /* Local prototypes */
@@ -1128,7 +1128,7 @@
     case 1: /*  Angle block */
       /* Loop and check each cell instead? So we don't get outside the block? */
       (vm->state).cellN += (vm->state).AGL_REG - 1;
-#ifdef STRICT
+#ifdef DVDNAV_STRICT
       assert((vm->state).cellN <= (vm->state).pgc->nr_of_cells);
       assert((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_mode != 0);
       assert((vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_type == 1);