Hello community,

here is the log from the commit of package mathgl for openSUSE:Factory checked 
in at 2013-05-13 15:08:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mathgl (Old)
 and      /work/SRC/openSUSE:Factory/.mathgl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mathgl"

Changes:
--------
--- /work/SRC/openSUSE:Factory/mathgl/mathgl.changes    2013-05-03 
13:43:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mathgl.new/mathgl.changes       2013-05-13 
15:08:53.000000000 +0200
@@ -1,0 +2,6 @@
+Wed May  8 18:07:21 UTC 2013 - dmitr...@opensuse.org
+
+- Update to version 2.1.3.1
+  * bugfix release, see included ChangeLog.txt for details
+
+-------------------------------------------------------------------

Old:
----
  mathgl-2.1.3.tar.gz

New:
----
  mathgl-2.1.3.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mathgl.spec ++++++
--- /var/tmp/diff_new_pack.NR1x3t/_old  2013-05-13 15:08:55.000000000 +0200
+++ /var/tmp/diff_new_pack.NR1x3t/_new  2013-05-13 15:08:55.000000000 +0200
@@ -22,8 +22,9 @@
 
 Name:           mathgl
 %define libname libmgl
-Version:        2.1.3
+Version:        2.1.3.1
 Release:        0
+%define oct_version 2.1.3
 %define somajor 7
 %define libversion %{somajor}_0_0
 Summary:        Cross-platform library for making high-quality scientific 
graphics
@@ -286,7 +287,7 @@
 %patch5 -p1
 
 # Correct octave-mathgl version
-sed -i 's/2.0/%{version}/' lang/DESCRIPTION
+sed -i 's/2.0/%{oct_version}/' lang/DESCRIPTION
 
 # Correct location of numpy/arrayobject.h header file
 numpy_h=%{python_sitearch}/numpy/core/include/numpy/arrayobject.h
@@ -452,8 +453,8 @@
 
 %files -n octave-mathgl
 %defattr(-,root,root)
-%{_datadir}/octave/packages/%{name}-%{version}/
-%{_libdir}/octave/packages/%{name}-%{version}/
+%{_datadir}/octave/packages/%{name}-%{oct_version}/
+%{_libdir}/octave/packages/%{name}-%{oct_version}/
 
 %files -n python-mathgl
 %defattr(-,root,root)

++++++ mathgl-2.1.3.tar.gz -> mathgl-2.1.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/ChangeLog.txt 
new/mathgl-2.1.3.1/ChangeLog.txt
--- old/mathgl-2.1.3/ChangeLog.txt      2013-05-02 14:34:12.000000000 +0200
+++ new/mathgl-2.1.3.1/ChangeLog.txt    2013-05-08 09:39:45.000000000 +0200
@@ -1,3 +1,9 @@
+2.1.3.1 Released 8 May 2013
+
+* Compatibility changes for MS VS.
+* Bugfixes for cmake options enable-double=OFF, enable-zlib=OFF.
+* Enable mouse actions for Firefox in JS sample.
+
 2.1.3 Released 2 May 2013
 
 * Functions SinFFT, CosFFT, Hankel and so on, become multi-threaded
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/examples/fltk_example.cpp 
new/mathgl-2.1.3.1/examples/fltk_example.cpp
--- old/mathgl-2.1.3/examples/fltk_example.cpp  2013-05-02 14:34:17.000000000 
+0200
+++ new/mathgl-2.1.3.1/examples/fltk_example.cpp        2013-05-08 
09:39:45.000000000 +0200
@@ -31,8 +31,7 @@
 int sample_3(mglGraph *gr);
 int sample_d(mglGraph *gr);
 //-----------------------------------------------------------------------------
-//#include <unistd.h>
-mglPoint pnt;  // some global variable for changable data
+mglPoint pnt;  // some global variable for changeable data
 void *mgl_fltk_tmp(void *)     {       mgl_fltk_run(); return 0;       }
 //#define PTHREAD_SAMPLE
 //-----------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/examples/full_test.cpp 
new/mathgl-2.1.3.1/examples/full_test.cpp
--- old/mathgl-2.1.3/examples/full_test.cpp     2013-05-02 14:34:17.000000000 
+0200
+++ new/mathgl-2.1.3.1/examples/full_test.cpp   2013-05-08 09:39:45.000000000 
+0200
@@ -63,8 +63,11 @@
 //-----------------------------------------------------------------------------
 void save(mglGraph *gr,const char *name,const char *suf);
 void smgl_stfa(mglGraph *gr);  // STFA sample
+void smgl_text(mglGraph *gr);  // text drawing
 void test(mglGraph *gr)
 {
+       smgl_text(gr);  return;
+       
        mglParse par;
        par.AllowSetSize(true);
        setlocale(LC_CTYPE, "");
@@ -200,8 +203,13 @@
                        snprintf(buf,128,"%s%s.jsonz",name,suf);
                        gr->WriteJSON(buf);     break;
                default:// PNG (no alpha)
+#if MGL_HAVE_PNG
                        snprintf(buf,128,"%s%s.png",name,suf);
                        gr->WritePNG(buf,0,false);      break;
+#else
+                       snprintf(buf,128,"%s%s.bmp",name,suf);
+                       gr->WriteBMP(buf);      break;
+#endif
        }
 }
 //-----------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/examples/qt_example.cpp 
new/mathgl-2.1.3.1/examples/qt_example.cpp
--- old/mathgl-2.1.3/examples/qt_example.cpp    2013-05-02 14:34:17.000000000 
+0200
+++ new/mathgl-2.1.3.1/examples/qt_example.cpp  2013-05-08 09:39:45.000000000 
+0200
@@ -35,7 +35,7 @@
 #ifdef PTHREAD_SAMPLE
 #include <pthread.h>
 #endif
-mglPoint pnt;  // some global variable for changable data
+mglPoint pnt;  // some global variable for changeable data
 void *mgl_qt_tmp(void *);
 //-----------------------------------------------------------------------------
 class Foo : public mglDraw
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/examples/samples.cpp 
new/mathgl-2.1.3.1/examples/samples.cpp
--- old/mathgl-2.1.3/examples/samples.cpp       2013-05-02 14:34:17.000000000 
+0200
+++ new/mathgl-2.1.3.1/examples/samples.cpp     2013-05-08 09:39:45.000000000 
+0200
@@ -60,7 +60,7 @@
 //-----------------------------------------------------------------------------
 const char *mmgl_fexport="";
 #define splot1(b) 
{(b).Norm(-1,1,true);gr->Rotate(70,60);gr->Box();gr->Surf3(b);}
-void smgl_fexport(mglGraph *gr)        // surface triangulation
+void smgl_fexport(mglGraph *gr)        // test file export
 {
        gr->SubPlot(3,2,0);
        double d,x1,x2,x0,y=0.95;
@@ -233,7 +233,7 @@
 "title 'max=',b.max:norm b -1 1 on:rotate 70 60:box:surf3 b\n"
 "return\n";
 #define splot1(b) 
{(b).Norm(-1,1,true);gr->Rotate(70,60);gr->Box();gr->Surf3(b);}
-void smgl_data1(mglGraph *gr)  // surface triangulation
+void smgl_data1(mglGraph *gr)  // basic data operations
 {
        mglData a(40,50,60),b;  gr->Fill(a,"exp(-x^2-4*y^2-16*z^2)");
        gr->Light(true);                gr->Alpha(true);
@@ -275,7 +275,7 @@
 "title 'max=',b.max:norm b -1 1 on:rotate 70 60:box\n"
 "surf3 b 0.5:surf3 b -0.5\nreturn\n";
 #define splot2(b) 
{(b).Norm(-1,1,true);gr->Rotate(70,60);gr->Box();gr->Surf3(0.5,b);gr->Surf3(-0.5,b);}
-void smgl_data2(mglGraph *gr)  // surface triangulation
+void smgl_data2(mglGraph *gr)  // data transforms
 {
        mglData a(40,50,60),b;  gr->Fill(a,"exp(-x^2-4*y^2-16*z^2)");
        gr->Light(true);                gr->Alpha(true);
@@ -310,7 +310,7 @@
 "subplot 4 3 9:rotate 40 60:box:step x y z\n"
 "subplot 4 3 10:rotate 40 60:box:torus x z 'z';light on\n"
 "subplot 4 3 11:rotate 40 60:box:label x y z '%z'\n";
-void smgl_param1(mglGraph *gr) // surface triangulation
+void smgl_param1(mglGraph *gr) // 1d parametric plots
 {
        mglData x(100), y(100), z(100), c(100);
        gr->Fill(x,"sin(pi*x)");        gr->Fill(y,"cos(pi*x)");
@@ -350,7 +350,7 @@
 "subplot 4 4 13:rotate 40 60:box:boxs x y z '';meshnum 10;light on\n"
 "subplot 4 4 14:rotate 40 60:box:boxs x y z '#';meshnum 10;light on\n"
 "subplot 4 4 15:rotate 40 60:box:boxs x y z '@';meshnum 10;light on\n";
-void smgl_param2(mglGraph *gr) // surface triangulation
+void smgl_param2(mglGraph *gr) // 2d parametric plots
 {
        mglData x(100,100), y(100,100), z(100,100), c(100,100);
        gr->Fill(x,"sin(pi*(x+y)/2)*cos(pi*y/2)");      
gr->Fill(y,"cos(pi*(x+y)/2)*cos(pi*y/2)");
@@ -391,7 +391,7 @@
 "subplot 4 3 8:rotate 40 60:box:densx c '' 0:densy c '' 0:densz c '' 0\n"
 "subplot 4 3 9:rotate 40 60:box:contx c '' 0:conty c '' 0:contz c '' 0\n"
 "subplot 4 3 10:rotate 40 60:box:contfx c '' 0:contfy c '' 0:contfz c '' 0\n";
-void smgl_param3(mglGraph *gr) // surface triangulation
+void smgl_param3(mglGraph *gr) // 3d parametric plots
 {
        mglData x(50,50,50), y(50,50,50), z(50,50,50), c(50,50,50), d(50,50,50);
        gr->Fill(x,"(x+2)/3*sin(pi*y/2)");      
gr->Fill(y,"(x+2)/3*cos(pi*y/2)");      gr->Fill(z,"z");
@@ -427,7 +427,7 @@
 "grid3 x y z z '{r9}':grid3 x y z z '{g9}x':grid3 x y z z '{b9}z'\n"
 "subplot 3 3 6:rotate 40 60:box:flow x y z ex ey ez\n"
 "subplot 3 3 7:rotate 40 60:box:pipe x y z ex ey ez\n";
-void smgl_paramv(mglGraph *gr) // surface triangulation
+void smgl_paramv(mglGraph *gr) // parametric plots for vector field
 {
        mglData x(20,20,20), y(20,20,20), z(20,20,20), ex(20,20,20), 
ey(20,20,20), ez(20,20,20);
        gr->Fill(x,"(x+2)/3*sin(pi*y/2)");      
gr->Fill(y,"(x+2)/3*cos(pi*y/2)");      gr->Fill(z,"x+z");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/include/mgl2/mgl.h 
new/mathgl-2.1.3.1/include/mgl2/mgl.h
--- old/mathgl-2.1.3/include/mgl2/mgl.h 2013-05-02 14:32:32.000000000 +0200
+++ new/mathgl-2.1.3.1/include/mgl2/mgl.h       2013-05-08 09:39:32.000000000 
+0200
@@ -415,7 +415,7 @@
        /// Calculate 3D coordinate {x,y,z} for screen point {xs,ys}
        inline mglPoint CalcXYZ(int xs, int ys)
        {
-               double x,y,z;
+               mreal x,y,z;
                mgl_calc_xyz(gr,xs,ys,&x,&y,&z);
                return mglPoint(x,y,z);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/include/mgl2/wnd.h 
new/mathgl-2.1.3.1/include/mgl2/wnd.h
--- old/mathgl-2.1.3/include/mgl2/wnd.h 2013-05-02 14:32:32.000000000 +0200
+++ new/mathgl-2.1.3.1/include/mgl2/wnd.h       2013-05-08 09:39:32.000000000 
+0200
@@ -89,7 +89,7 @@
        inline void Setup(bool clf_upd=true, bool showpos=false)
        {       mgl_setup_window(gr, clf_upd, showpos); }
        inline mglPoint LastMousePos()          ///< Last mouse position
-       {       double x,y,z;   mgl_get_last_mouse_pos(gr,&x,&y,&z);    return 
mglPoint(x,y,z); }
+       {       mreal x,y,z;    mgl_get_last_mouse_pos(gr,&x,&y,&z);    return 
mglPoint(x,y,z); }
 };
 //-----------------------------------------------------------------------------
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/src/data_new.cpp 
new/mathgl-2.1.3.1/src/data_new.cpp
--- old/mathgl-2.1.3/src/data_new.cpp   2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/data_new.cpp 2013-05-08 09:39:36.000000000 +0200
@@ -875,7 +875,7 @@
 }
 //-----------------------------------------------------------------------------
 struct MGL_NO_EXPORT mglFuncV  {       mglFormula *eq; char var;       };
-mreal MGL_NO_EXPORT mgl_funcv(double v, void *par)
+mreal MGL_NO_EXPORT mgl_funcv(mreal v, void *par)
 {
        mglFuncV *f = (mglFuncV *)par;
        mreal var[MGL_VS];      memset(var,0,('z'-'a')*sizeof(mreal));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/src/export.cpp 
new/mathgl-2.1.3.1/src/export.cpp
--- old/mathgl-2.1.3/src/export.cpp     2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/export.cpp   2013-05-08 09:39:36.000000000 +0200
@@ -20,6 +20,12 @@
 #include <time.h>
 #include <stdarg.h>
 
+#if defined(WIN32) || defined(_MSC_VER) || defined(__BORLANDC__)
+#include <windows.h>
+#else
+#include <unistd.h>
+#endif
+
 #include "mgl2/canvas.h"
 #include "mgl2/canvas_cf.h"
 
@@ -576,7 +582,7 @@
                {
                        snprintf(cmd,128,"%s %s &", viewer,fname);
                        if(system(cmd)==-1)     printf("Error to call external 
viewer\n");
-                       //              sleep(2);
+                       Sleep(2000);
                        snprintf(cmd,128,"del %s", fname);
                }
                else    snprintf(cmd,128,"%s %s; del %s", viewer,fname,fname);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/src/fft.cpp 
new/mathgl-2.1.3.1/src/fft.cpp
--- old/mathgl-2.1.3/src/fft.cpp        2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/fft.cpp      2013-05-08 09:39:36.000000000 +0200
@@ -134,7 +134,7 @@
        if(!dir || *dir==0)     return;
        long nx = d->nx, ny = d->ny, nz = d->nz;
        if(mglNumThr<1) mgl_set_num_thr(0);     // manually set number of 
threads
-       void *wt=0, *ws[mglNumThr];
+       void *wt=0, **ws=new void*[mglNumThr];
        long par[4]={nx,ny,nz,strchr(dir,'i')!=0}, i;
 #if MGL_USE_DOUBLE
        double *a = (double *)(d->a);
@@ -159,6 +159,7 @@
                mglStartThreadT(mgl_fftz,nx*ny,0,a,wt,ws,par);
        }
        if(wt)  mgl_fft_free(wt,ws,mglNumThr);
+       delete []ws;
 #if !MGL_USE_DOUBLE
        for(i=0;i<nx*ny*nz;i++) d->a[i] = dual(a[2*i], a[2*i+1]);
        delete []a;
@@ -171,7 +172,7 @@
        long nx = re->nx, ny = re->ny, nz = re->nz;
        if(nx*ny*nz != im->nx*im->ny*im->nz || !dir || dir[0]==0)       return;
        if(mglNumThr<1) mgl_set_num_thr(0);     // manually set number of 
threads
-       void *wt=0, *ws[mglNumThr];
+       void *wt=0, **ws=new void*[mglNumThr];
        long par[4]={nx,ny,nz,strchr(dir,'i')!=0}, i;
        double *a = new double[2*nx*ny*nz];
        for(i=0;i<nx*ny*nz;i++)
@@ -194,7 +195,7 @@
        if(wt)  mgl_fft_free(wt,ws,mglNumThr);
        for(i=0;i<nx*ny*nz;i++)
        {       re->a[i] = a[2*i];      im->a[i] = a[2*i+1];    }
-       delete []a;
+       delete []ws;    delete []a;
 }
 //-----------------------------------------------------------------------------
 MGL_NO_EXPORT void* mgl_envx(void *par)
@@ -253,7 +254,7 @@
        register long i;
        long nx=d->nx,ny=d->ny,nz=d->nz,par[3]={nx,ny,nz};
        if(mglNumThr<1) mgl_set_num_thr(0);     // manually set number of 
threads
-       void *wt=0, *ws[mglNumThr];
+       void *wt=0, **ws=new void*[mglNumThr];
        double *b = 0;
        if(dir=='x' && nx>1)
        {
@@ -275,6 +276,7 @@
        }
        for(i=0;i<nx*ny*nz;i++) d->a[i] = hypot(b[2*i], b[2*i+1]);
        if(b)   {       mgl_fft_free(wt,ws,mglNumThr);  delete []b;     }
+       delete []ws;
 }
 //-----------------------------------------------------------------------------
 MGL_NO_EXPORT void* mgl_stfa1(void *par)
@@ -347,7 +349,7 @@
        register long i,j,k,i0,dd=dn/2;
        if(mglNumThr<1) mgl_set_num_thr(0);     // manually set number of 
threads
        double *a = new double[4*dn*mglNumThr],ff;
-       void *ws[mglNumThr], *wt = mgl_fft_alloc(2*dn,ws,mglNumThr);
+       void **ws=new void*[mglNumThr], *wt = mgl_fft_alloc(2*dn,ws,mglNumThr);
        long mx,my,mz;
        if(dir=='y')
        {
@@ -363,8 +365,8 @@
                long par[5]={mx,my,mz,dn,nx};
                mglStartThreadT(mgl_stfa2,my*mz,d->a,a,wt,ws,par,re,im);
        }
-       delete []a;
        mgl_fft_free(wt,ws,mglNumThr);
+       delete []ws;    delete []a;
        return d;
 }
 //-----------------------------------------------------------------------------
@@ -436,7 +438,7 @@
        if(!dir || *dir==0)     return;
        double *b = 0;
        if(mglNumThr<1) mgl_set_num_thr(0);     // manually set number of 
threads
-       void *wt=0, *ws[mglNumThr];
+       void *wt=0, **ws=new void*[mglNumThr];
        long nx=d->nx, ny=d->ny, nz=d->nz;
        long par[3]={nx,ny,nz}, i;
        if(strchr(dir,'x') && nx>1)
@@ -458,6 +460,7 @@
                mglStartThreadT(mgl_sinz,nx*ny,d->a,b,wt,ws,par);
        }
        if(b)   {       mgl_fft_free(wt,ws,mglNumThr);  delete []b;     }
+       delete []ws;
 }
 //-----------------------------------------------------------------------------
 MGL_NO_EXPORT void* mgl_cosx(void *par)
@@ -550,7 +553,7 @@
        if(!dir || *dir==0)     return;
        double *b = 0;
        if(mglNumThr<1) mgl_set_num_thr(0);     // manually set number of 
threads
-       void *wt=0, *ws[mglNumThr];
+       void *wt=0, **ws=new void*[mglNumThr];
        long nx=d->nx, ny=d->ny, nz=d->nz;
        long par[3]={nx,ny,nz}, i;
        if(strchr(dir,'x') && nx>1)
@@ -572,6 +575,7 @@
                mglStartThreadT(mgl_cosz,nx*ny,d->a,b,wt,ws,par);
        }
        if(b)   {       mgl_fft_free(wt,ws,mglNumThr);  delete []b;     }
+       delete []ws;
 }
 //-----------------------------------------------------------------------------
 HMDT MGL_EXPORT mgl_transform_a(HCDT am, HCDT ph, const char *tr)
@@ -675,7 +679,7 @@
                gsl_dht_apply(dht,b,b+nx);
                for(j=0;j<nx;j++)       b[j] = imag(a[j+nx*i]);
                gsl_dht_apply(dht,b,b+2*nx);
-               for(j=0;j<nx;j++)       a[j+nx*i] = dual(b[j+nx],b[j+2*nx])*mm;
+               for(j=0;j<nx;j++)       a[j+nx*i] = 
dual(b[j+nx],b[j+2*nx])*mreal(mm);
        }
        return 0;
 }
@@ -695,7 +699,7 @@
                gsl_dht_apply(dht,b,b+ny);
                for(j=0;j<ny;j++)       b[j] = imag(a[i+nx*(j+ny*k)]);
                gsl_dht_apply(dht,b,b+2*ny);
-               for(j=0;j<ny;j++)       a[i+nx*(j+ny*k)] = 
dual(b[j+ny],b[j+2*ny])*mm;
+               for(j=0;j<ny;j++)       a[i+nx*(j+ny*k)] = 
dual(b[j+ny],b[j+2*ny])*mreal(mm);
        }
        return 0;
 }
@@ -714,7 +718,7 @@
                gsl_dht_apply(dht,b,b+nz);
                for(j=0;j<nz;j++)       b[j] = imag(a[i+j*k]);
                gsl_dht_apply(dht,b,b+2*nz);
-               for(j=0;j<nz;j++)       a[i+j*k] = dual(b[j+nz],b[j+2*nz])*mm;
+               for(j=0;j<nz;j++)       a[i+j*k] = 
dual(b[j+nz],b[j+2*nz])*mreal(mm);
        }
        return 0;
 }
@@ -767,7 +771,7 @@
        {
                for(j=0;j<nx;j++)       b[j] = a[j+nx*i];
                gsl_dht_apply(dht,b,b+nx);
-               for(j=0;j<nx;j++)       a[j+nx*i] = b[j+nx]*mm;
+               for(j=0;j<nx;j++)       a[j+nx*i] = b[j+nx]*mreal(mm);
        }
        return 0;
 }
@@ -785,7 +789,7 @@
                i = ii%nx;      k = ii/nx;
                for(j=0;j<ny;j++)       b[j] = a[i+nx*(j+ny*k)];
                gsl_dht_apply(dht,b,b+ny);
-               for(j=0;j<ny;j++)a[i+nx*(j+ny*k)] = b[j+ny]*mm;
+               for(j=0;j<ny;j++)a[i+nx*(j+ny*k)] = b[j+ny]*mreal(mm);
        }
        return 0;
 }
@@ -802,7 +806,7 @@
        {
                for(j=0;j<nz;j++)       b[j] = a[i+j*k];
                gsl_dht_apply(dht,b,b+nz);
-               for(j=0;j<nz;j++)       a[i+j*k] = b[j+nz]*mm;
+               for(j=0;j<nz;j++)       a[i+j*k] = b[j+nz]*mreal(mm);
        }
        return 0;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/src/font.cpp 
new/mathgl-2.1.3.1/src/font.cpp
--- old/mathgl-2.1.3/src/font.cpp       2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/font.cpp     2013-05-08 09:39:36.000000000 +0200
@@ -619,7 +619,7 @@
        register long i,j,ch,retVal;
        fp = gzopen(fname,"r"); if(!fp) return false;   // false if no file
        // first string is comment (not used), second string have information
-       if(!gzgets(fp,str,256) || !gzgets(fp,str,256))
+       if(!gzgets(fp,str,256) || strncmp(str,"# font",6) || 
!gzgets(fp,str,256))
        {       gzclose(fp);    return false;   }
        retVal = sscanf(str, "%d%f%d", &n, ff, &s);
        //Check sscanf read all data  (3 items)
@@ -657,11 +657,11 @@
 
        fp = gzopen(fname,"r"); if(!fp) return false;   // this font must be in 
any case
        // first string is comment (not used), second string have information
-       if(!gzgets(fp,str,256) || !gzgets(fp,str,256))
+       if(!gzgets(fp,str,256) || strncmp(str,"# font",6) || 
!gzgets(fp,str,256))
        {       gzclose(fp);    return false;   }
        sscanf(str, "%u%f%u", &numg, fact, &s);
        fact[1] = fact[2] = fact[3] = fact[0];  // copy default factor for 
other font styles;
-       Buf = (short *)malloc(s*sizeof(short)); // prealocate buffer
+       Buf = (short *)malloc(s*sizeof(short)); // preallocate buffer
        memset(Buf,0,s*sizeof(short));
        if(!Buf)        {       gzclose(fp);    numg=0; return false;   }
        // now allocate memory for all fonts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/src/pde.cpp 
new/mathgl-2.1.3.1/src/pde.cpp
--- old/mathgl-2.1.3/src/pde.cpp        2013-05-02 14:33:06.000000000 +0200
+++ new/mathgl-2.1.3.1/src/pde.cpp      2013-05-08 09:39:36.000000000 +0200
@@ -176,7 +176,7 @@
        if(tmax<dt)     return res;     // nothing to do
        int nt = int(tmax/dt)+1;
        mgl_data_create(res,n,nt,1);
-       mreal x[n], k1[n], k2[n], k3[n], v[n], hh=dt/2;
+       mreal *x=new mreal[n], *k1=new mreal[n], *k2=new mreal[n], *k3=new 
mreal[n], *v=new mreal[n], hh=dt/2;
        register long i,k;
        // initial conditions
        for(i=0;i<n;i++)        x[i] = res->a[i] = x0[i];
@@ -192,6 +192,7 @@
                func(v,k2,par);
                for(i=0;i<n;i++)        res->a[i+n*k] = x[i] += 
(k1[i]+k2[i]+2*k3[i])*dt/6;
        }
+       delete []x;     delete []k1;    delete []k2;    delete []k3;    delete 
[]v;
        return res;
 }
 //-----------------------------------------------------------------------------
@@ -419,7 +420,7 @@
 {
        dual *hxy, *huv, *hxv, *huy, *a;
        dual *hx, *hy, *hu, *hv, h0;
-       double *dmp;
+       mreal *dmp;
        mreal *r, dr, dk;
        mgl_ap *ra;
        dual (*ham)(mreal u, mreal x, mreal y, mreal z, mreal px, mreal py, 
mreal pz, void *par);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/texinfo/json.html 
new/mathgl-2.1.3.1/texinfo/json.html
--- old/mathgl-2.1.3/texinfo/json.html  2013-05-02 14:34:17.000000000 +0200
+++ new/mathgl-2.1.3.1/texinfo/json.html        2013-05-08 09:39:44.000000000 
+0200
@@ -109,10 +109,10 @@
 <p>You can use mouse with pressed left button for rotation; with pressed 
middle button for shift; mouse wheel for zoom in/out. Double click will restore 
original view.</p>
 <center>
 <canvas id="canvas" width="800" height="600"
-       style="border:1px solid #d3d3d3;" onmousemove="mglMouseMove()"
-       onmousedown="mglMouseDown()" onmouseup="mglMouseUp()"
-       onmouseout="mglMouseUp()" onmousewheel="mglMouseWheel()"
-       ondblclick="mglRestore()"></canvas>
+       style="border:1px solid #d3d3d3;" onmousemove="mglMouseMove(event)"
+       onmousedown="mglMouseDown(event)" onmouseup="mglMouseUp(event)"
+       onmouseout="mglMouseUp(event)" onmousewheel="mglMouseWheel(event)"
+       ondblclick="mglRestore(event)"></canvas>
 </center>
 
 <p id="time"></p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/texinfo/mathgl.js 
new/mathgl-2.1.3.1/texinfo/mathgl.js
--- old/mathgl-2.1.3/texinfo/mathgl.js  2013-05-02 14:34:16.000000000 +0200
+++ new/mathgl-2.1.3.1/texinfo/mathgl.js        2013-05-08 09:39:44.000000000 
+0200
@@ -52,17 +52,17 @@
 {      obj.button = 0; obj.good = 0;
        ctx.clearRect(0,0,obj.width,obj.height);
        mgl_draw_good(obj, ctx);        }
-var mglMouseDown = function()
+var mglMouseDown = function(event)
 {
        obj.good = 1;
-       obj.mouseX = window.event.clientX;
-       obj.mouseY = window.event.clientY;
-       obj.button = window.event.button+1;
+       obj.mouseX = event.clientX;
+       obj.mouseY = event.clientY;
+       obj.button = event.button+1;
 }
-var mglMouseMove = function()
+var mglMouseMove = function(event)
 {
-       var x = window.event.clientX-obj.mouseX;
-       var y = window.event.clientY-obj.mouseY;
+       var x = event.clientX-obj.mouseX;
+       var y = event.clientY-obj.mouseY;
        switch(obj.button)
        {
        case 1: // rotate
@@ -80,16 +80,10 @@
                mgl_draw(obj, ctx);
        }
 }
-var mglMouseWheel = function()
+var mglMouseWheel = function(event)
 {
-       var e = window.event;
-       var d = e.wheelDelta? e.wheelDelta:e.detail*(-120);
-
-/*     var x = window.event.clientX;
-       var y = obj.height-window.event.clientY;
-       mgl_shift_down(obj, -y/obj.height);
-       mgl_shift_right(obj, x/obj.width);*/
-
+//     var e = window.event;
+       var d = event.wheelDelta? event.wheelDelta:event.detail*(-120);
        mgl_zoom_in(obj, Math.pow(1.002,d));
        mgl_draw(obj, ctx);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mathgl-2.1.3/todo.txt new/mathgl-2.1.3.1/todo.txt
--- old/mathgl-2.1.3/todo.txt   2013-05-02 14:32:32.000000000 +0200
+++ new/mathgl-2.1.3.1/todo.txt 2013-05-08 09:39:45.000000000 +0200
@@ -34,6 +34,7 @@
 
 15. Check samples: colorbar
 16. Add samples about data handling (data1, data2, data2)
+17. Add "Triangulation sample"
 
 20. JS rotation in Firefox
 23. check if all "value" options are described

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to