Fix for gcc15 breakage (Lukas Wirz) https://bugs.launchpad.net/bugs/2096612 abi-compliance-checker: Problems with Data Types High 0 Medium 0 Low 1 filter.h [+] typedef lmfunc 1 Change Effect 1 Base type has been changed from int(*)(...) to int(*)(int, int, double*, double*, int*). Recompilation of a client program may be broken. [+] affected symbols: 26 (4.7%) --- a/filter.h +++ b/filter.h @@ -410,7 +410,7 @@ // function to minimize in Levenberg-Marquardt solver -typedef int (*lmfunc)(); +typedef int (*lmfunc)(int m, int n, double x[], double fvec[], int *iflag); struct triangle { @@ -774,13 +774,19 @@ PANO13_IMPEX void matrix_inv_mult ( double m[3][3], double vector[3] ); PANO13_IMPEX double smallestRoot ( double *p ); PANO13_IMPEX void SetCorrectionRadius ( cPrefs *cP ); -PANO13_IMPEX int lmdif (); +PANO13_IMPEX int lmdif(int m, int n, double x[], double fvec[], + double ftol, double xtol, double gtol, + int maxfev, double epsfcn, double diag[], + int mode, double factor, int nprint, + int *info, int *nfev, double fjac[], + int ldfjac, int ipvt[], double qtf[], + double wa1[], double wa2[], double wa3[], double wa4[]); PANO13_IMPEX void fourier ( TrformStr *TrPtr, cPrefs *cP ); PANO13_IMPEX unsigned short gamma_correct( double pix ); PANO13_IMPEX int EqualCPrefs( cPrefs *c1, cPrefs *c2 ); PANO13_IMPEX double OverlapRMS ( MultiLayerImage *mim ); PANO13_IMPEX double distSquared ( int num ); -PANO13_IMPEX int fcnPano(); +PANO13_IMPEX int fcnPano(int m, int n, double x[], double fvec[], int *iflag); PANO13_IMPEX int EvaluateControlPointError ( int num, double *errptr, double errComponent[2]); PANO13_IMPEX void doCoordinateTransform( CoordInfo *c, tMatrix *t ); PANO13_IMPEX void findOptimumtMatrix( transformCoord *tP, tMatrix *tM, lmfunc f);