gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp
Date: Fri, 14 Mar 2008 17:55:11 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/03/14 17:55:11

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 

Log message:
        (sprite_startDrag): handle NaN args (we should probably use ints for
        dragging in general). Fixes bug #22592.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5915&r2=1.5916
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.485&r2=1.486

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5915
retrieving revision 1.5916
diff -u -b -r1.5915 -r1.5916
--- ChangeLog   14 Mar 2008 17:51:10 -0000      1.5915
+++ ChangeLog   14 Mar 2008 17:55:10 -0000      1.5916
@@ -1,3 +1,9 @@
+2008-03-14 Sandro Santilli <address@hidden>
+
+       * server/sprite_instance.cpp (sprite_startDrag): handle
+         NaN args (we should probably use ints for dragging in
+         general). Fixes bug #22592.
+
 2008-03-14 Benjamin Wolsey <address@hidden>
 
        * server/fill_style.cpp: cast uint8_t to int before logging.

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.485
retrieving revision 1.486
diff -u -b -r1.485 -r1.486
--- server/sprite_instance.cpp  11 Mar 2008 08:25:07 -0000      1.485
+++ server/sprite_instance.cpp  14 Mar 2008 17:55:11 -0000      1.486
@@ -1774,6 +1774,13 @@
             float x1 = PIXELS_TO_TWIPS(fn.arg(3).to_number());
             float y1 = PIXELS_TO_TWIPS(fn.arg(4).to_number());
 
+            // check for infinite values
+            bool gotinf = false;
+            if ( ! isfinite(x0) ) { x0=0; gotinf=true; }
+            if ( ! isfinite(y0) ) { y0=0; gotinf=true; }
+            if ( ! isfinite(x1) ) { x1=0; gotinf=true; }
+            if ( ! isfinite(y1) ) { y1=0; gotinf=true; }
+
             // check for swapped values
             bool swapped = false;
             if ( y1 < y0 )
@@ -1789,9 +1796,12 @@
             }
 
             IF_VERBOSE_ASCODING_ERRORS(
-            if ( swapped ) {
+            if ( gotinf || swapped ) {
                 std::stringstream ss; fn.dump_args(ss);
+               if ( swapped ) 
                 log_aserror(_("min/max bbox values in MovieClip.startDrag(%s) 
swapped, fixing"), ss.str().c_str());
+               if ( gotinf )
+                  log_aserror(_("non-finite bbox values in 
MovieClip.startDrag(%s), took as zero"), ss.str().c_str());
             }
             );
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]