summaryrefslogtreecommitdiff
path: root/graphics/fotoxx
diff options
context:
space:
mode:
authorbad <bad>2010-08-24 18:58:02 +0000
committerbad <bad>2010-08-24 18:58:02 +0000
commit38d82a13ea026f8adcc6adc97cccbcf553e45aa5 (patch)
tree6ef645d5682ac74e7d75473256b86c6068b449af /graphics/fotoxx
parent64d825d7868d080c1418b168d20c7e979d92fc4e (diff)
downloadpkgsrc-38d82a13ea026f8adcc6adc97cccbcf553e45aa5.tar.gz
Update fotoxx from 5.8 to 10.8.4. Way to many changes to list them
here.
Diffstat (limited to 'graphics/fotoxx')
-rw-r--r--graphics/fotoxx/Makefile12
-rw-r--r--graphics/fotoxx/PLIST118
-rw-r--r--graphics/fotoxx/distinfo15
-rw-r--r--graphics/fotoxx/patches/patch-aa19
-rw-r--r--graphics/fotoxx/patches/patch-ab47
-rw-r--r--graphics/fotoxx/patches/patch-ac16
-rw-r--r--graphics/fotoxx/patches/patch-ad303
7 files changed, 425 insertions, 105 deletions
diff --git a/graphics/fotoxx/Makefile b/graphics/fotoxx/Makefile
index 79372b419f5..db02f3855dd 100644
--- a/graphics/fotoxx/Makefile
+++ b/graphics/fotoxx/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.5 2010/06/13 22:44:30 wiz Exp $
+# $NetBSD: Makefile,v 1.6 2010/08/24 18:58:02 bad Exp $
#
-DISTNAME= fotoxx-5.8
-PKGREVISION= 2
+DISTNAME= fotoxx-10.8.4
CATEGORIES= graphics
MASTER_SITES= http://kornelix.squarespace.com/storage/downloads/
@@ -12,14 +11,17 @@ COMMENT= Program for editing image files from a digital camera
PKG_DESTDIR_SUPPORT= user-destdir
-DEPENDS+= exiv2-[0-9]*:../../graphics/exiv2
DEPENDS+= xdg-utils-[0-9]*:../../misc/xdg-utils
+DEPENDS+= p5-Image-ExifTool-[0-9]*:../../graphics/p5-Image-ExifTool
+DEPENDS+= gimp-ufraw-[0-9]*:../../graphics/gimp-ufraw
-WRKSRC= ${WRKDIR}/fotoxx
+#WRKSRC= ${WRKDIR}/fotoxx
USE_LANGUAGES= c++
USE_TOOLS+= gmake pkg-config
BUILD_TARGET= fotoxx
+INSTALL_TARGET= install manpage # XXX menu
+.include "../../graphics/tiff/buildlink3.mk"
.include "../../x11/gtk2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/graphics/fotoxx/PLIST b/graphics/fotoxx/PLIST
index dc826031c58..1c935a1e84f 100644
--- a/graphics/fotoxx/PLIST
+++ b/graphics/fotoxx/PLIST
@@ -1,80 +1,53 @@
-@comment $NetBSD: PLIST,v 1.3 2009/06/14 17:59:12 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2010/08/24 18:58:02 bad Exp $
bin/fotoxx
share/doc/fotoxx/CHANGES
share/doc/fotoxx/COPYING
share/doc/fotoxx/README
share/doc/fotoxx/TRANSLATIONS
-share/doc/fotoxx/images/HDR-fr.jpg
-share/doc/fotoxx/images/de-noise.jpg
-share/doc/fotoxx/images/defog-fr.jpg
-share/doc/fotoxx/images/edit-tags-fr.jpg
-share/doc/fotoxx/images/lens-adjust-fr.jpg
-share/doc/fotoxx/images/navigation-fr.jpg
-share/doc/fotoxx/images/pano-adjust-fr.jpg
-share/doc/fotoxx/images/pano-prealign-fr.jpg
-share/doc/fotoxx/images/redeye-fr.jpg
-share/doc/fotoxx/images/rotate-fr.jpg
-share/doc/fotoxx/images/search-tags-fr.jpg
-share/doc/fotoxx/images/sharpen1.jpg
-share/doc/fotoxx/images/stretch2.jpg
-share/doc/fotoxx/images/toolbar-en.jpg
-share/doc/fotoxx/images/toolbar-fr.jpg
-share/doc/fotoxx/images/toolbar-gl.jpg
-share/doc/fotoxx/images/tune-fr.jpg
-share/doc/fotoxx/images/unbend.jpg
+share/doc/fotoxx/fotoxx.man
+share/doc/fotoxx/images/.thumbnails/HDF-dialog.jpeg.png
+share/doc/fotoxx/images/.thumbnails/brightness-color.de.jpeg.png
+share/doc/fotoxx/images/HDF-dialog.jpeg
+share/doc/fotoxx/images/brightness-color.de.jpeg
+share/doc/fotoxx/images/brightness-color.jpeg
+share/doc/fotoxx/images/edit-tags.jpeg
+share/doc/fotoxx/images/navigation.de.jpeg
+share/doc/fotoxx/images/navigation.jpeg
+share/doc/fotoxx/images/pano-dialog.jpeg
+share/doc/fotoxx/images/rename.de.jpeg
+share/doc/fotoxx/images/rename.jpeg
+share/doc/fotoxx/images/save-as.de.jpeg
+share/doc/fotoxx/images/save-as.jpeg
+share/doc/fotoxx/images/search-tags.de.jpeg
+share/doc/fotoxx/images/search-tags.jpeg
+share/doc/fotoxx/images/select-area.png
+share/doc/fotoxx/images/sharpen.de.jpeg
+share/doc/fotoxx/images/sharpen.jpeg
+share/doc/fotoxx/images/tonemap.de.jpeg
+share/doc/fotoxx/images/tonemap.jpeg
+share/doc/fotoxx/images/zappcrash
+share/doc/fotoxx/userguide-changes
+share/doc/fotoxx/userguide-de.html
share/doc/fotoxx/userguide-en.html
-share/doc/fotoxx/userguide-fr.html
-share/doc/fotoxx/userguide-gl.html
-share/fotoxx/icons/RGB.png
-share/fotoxx/icons/bigger.png
-share/fotoxx/icons/file.png
+share/fotoxx/icons/arrow.png
+share/fotoxx/icons/busy.png
+share/fotoxx/icons/busy2.png
+share/fotoxx/icons/drag.png
+share/fotoxx/icons/draw.png
share/fotoxx/icons/first-page.png
share/fotoxx/icons/folder.png
share/fotoxx/icons/folder128.png
+share/fotoxx/icons/folder2.png
share/fotoxx/icons/folder256.png
share/fotoxx/icons/fotoxx.png
-share/fotoxx/icons/index.png
+share/fotoxx/icons/gallery.png
+share/fotoxx/icons/help.png
share/fotoxx/icons/kill.png
share/fotoxx/icons/last-page.png
-share/fotoxx/icons/logo.png
-share/fotoxx/icons/m-about.png
-share/fotoxx/icons/m-blur.png
-share/fotoxx/icons/m-changelog.png
-share/fotoxx/icons/m-clone.png
-share/fotoxx/icons/m-color-bal.png
-share/fotoxx/icons/m-color-dep.png
-share/fotoxx/icons/m-color-int.png
-share/fotoxx/icons/m-color-sat.png
-share/fotoxx/icons/m-create-thumbs.png
-share/fotoxx/icons/m-errorlog.png
-share/fotoxx/icons/m-exif.png
-share/fotoxx/icons/m-flatten.png
-share/fotoxx/icons/m-hdr.png
-share/fotoxx/icons/m-montest.png
-share/fotoxx/icons/m-noise.png
-share/fotoxx/icons/m-open.png
-share/fotoxx/icons/m-pano.png
-share/fotoxx/icons/m-params.png
-share/fotoxx/icons/m-print.png
-share/fotoxx/icons/m-quit.png
-share/fotoxx/icons/m-readme.png
-share/fotoxx/icons/m-redeye.png
-share/fotoxx/icons/m-resize.png
-share/fotoxx/icons/m-rotate.png
-share/fotoxx/icons/m-save.png
-share/fotoxx/icons/m-select.png
-share/fotoxx/icons/m-sharpen.png
-share/fotoxx/icons/m-slideshow.png
-share/fotoxx/icons/m-tags.png
-share/fotoxx/icons/m-trash.png
-share/fotoxx/icons/m-trim.png
-share/fotoxx/icons/m-tune.png
-share/fotoxx/icons/m-unbend.png
-share/fotoxx/icons/m-userguide.png
-share/fotoxx/icons/m-warp.png
share/fotoxx/icons/next-page.png
share/fotoxx/icons/next-row.png
share/fotoxx/icons/next.png
+share/fotoxx/icons/open.png
share/fotoxx/icons/prev-page.png
share/fotoxx/icons/prev-row.png
share/fotoxx/icons/prev.png
@@ -83,18 +56,13 @@ share/fotoxx/icons/quit.png
share/fotoxx/icons/redo.png
share/fotoxx/icons/save.png
share/fotoxx/icons/select.png
-share/fotoxx/icons/smaller.png
share/fotoxx/icons/trash.png
share/fotoxx/icons/undo.png
-share/fotoxx/icons/zoomin.png
-share/fotoxx/icons/zoomout.png
+share/fotoxx/icons/zoom+.png
+share/fotoxx/icons/zoom-.png
share/fotoxx/locales/de/fotoxx.po
+share/fotoxx/locales/de/fotoxx.po.old
share/fotoxx/locales/de/zfuncs.po
-share/fotoxx/locales/el/fotoxx.mo
-share/fotoxx/locales/el/fotoxx.po
-share/fotoxx/locales/el/zfuncs.mo
-share/fotoxx/locales/el/zfuncs.po
-share/fotoxx/locales/el/zfuncs.po2
share/fotoxx/locales/es/fotoxx.po
share/fotoxx/locales/es/zfuncs.po
share/fotoxx/locales/fr/fotoxx.po
@@ -103,3 +71,15 @@ share/fotoxx/locales/gl/fotoxx.po
share/fotoxx/locales/gl/zfuncs.po
share/fotoxx/locales/it/fotoxx.po
share/fotoxx/locales/it/zfuncs.po
+share/fotoxx/locales/nl/fotoxx.po
+share/fotoxx/locales/nl/zfuncs.po
+share/fotoxx/locales/pt/fotoxx.po
+share/fotoxx/locales/pt/zfuncs.po
+share/fotoxx/locales/ru/fotoxx.po
+share/fotoxx/locales/ru/zfuncs.po
+share/fotoxx/locales/sv/fotoxx.po
+share/fotoxx/locales/sv/fotoxx.po.old
+share/fotoxx/locales/sv/zfuncs.po
+share/fotoxx/locales/zh_CN/fotoxx.po
+share/fotoxx/locales/zh_CN/zfuncs.po
+share/man/man1/fotoxx.1
diff --git a/graphics/fotoxx/distinfo b/graphics/fotoxx/distinfo
index 8090e1c0596..408eb30c26c 100644
--- a/graphics/fotoxx/distinfo
+++ b/graphics/fotoxx/distinfo
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.2 2009/01/07 23:42:04 wiz Exp $
+$NetBSD: distinfo,v 1.3 2010/08/24 18:58:02 bad Exp $
-SHA1 (fotoxx-5.8.tar.gz) = c8f52f899773caa5304164e83d80c51b7e083cc5
-RMD160 (fotoxx-5.8.tar.gz) = 5a4fc01954e0d8c3eb15983018a03d99a681f2d4
-Size (fotoxx-5.8.tar.gz) = 933025 bytes
-SHA1 (patch-aa) = 2f5b2b650c557296f073d816e9c12998e7f874ad
-SHA1 (patch-ab) = 45705b890257cd34571e4896494ee0d643bdf168
-SHA1 (patch-ac) = e213a84e029d51af8e672da8b58945c3f32bc5c2
+SHA1 (fotoxx-10.8.4.tar.gz) = 3a1ead13324b5c50811247279c3de43b6e0d776a
+RMD160 (fotoxx-10.8.4.tar.gz) = fc755d00f6f169bca7de165803a81b9511f5fb4f
+Size (fotoxx-10.8.4.tar.gz) = 1133275 bytes
+SHA1 (patch-aa) = 3052ebfdaf7d5c21e1ea15aff5167641f763137c
+SHA1 (patch-ab) = 3a6cc4a86e4422c62b917a634704650de3c84f48
+SHA1 (patch-ac) = a1c448450a50e6552066797d07eedeb2f214f577
+SHA1 (patch-ad) = f096dc3412c28369278da594ef858e93e4304cd9
diff --git a/graphics/fotoxx/patches/patch-aa b/graphics/fotoxx/patches/patch-aa
index c4c8a683218..f2ec556398d 100644
--- a/graphics/fotoxx/patches/patch-aa
+++ b/graphics/fotoxx/patches/patch-aa
@@ -1,13 +1,14 @@
-$NetBSD: patch-aa,v 1.1.1.1 2008/12/09 15:10:34 wiz Exp $
+$NetBSD: patch-aa,v 1.2 2010/08/24 18:58:03 bad Exp $
---- Makefile.orig 2008-12-05 13:36:40.000000000 +0000
-+++ Makefile
-@@ -18,7 +18,7 @@ DATADIR = $(PREFIX)/share/$(PROGRAM)
-
+--- Makefile.orig 2010-08-18 11:23:51.000000000 +0000
++++ Makefile 2010-08-23 00:06:09.000000000 +0000
+@@ -20,8 +20,7 @@
+ MANDIR = $(PREFIX)/share/man/man1
$(PROGRAM): $(PROGRAM).o zfuncs.o
-- @g++ $(LFLAGS) -o $(PROGRAM) $(PROGRAM).o zfuncs.o
-+ @g++ $(LFLAGS) -o $(PROGRAM) $(PROGRAM).o zfuncs.o -lcompat
+- @ ./dependencies.sh
+- $(CXX) $(LFLAGS) -ltiff -o $(PROGRAM) $(PROGRAM).o zfuncs.o
++ $(CXX) $(LFLAGS) -ltiff -o $(PROGRAM) $(PROGRAM).o zfuncs.o -lcompat
- $(PROGRAM).o: $(SOURCE) zfuncs.h
- @g++ $(CFLAGS) -o $(PROGRAM).o $(SOURCE) \
+ $(PROGRAM).o: $(SOURCE)
+ $(CXX) $(CFLAGS) -o $(PROGRAM).o $(SOURCE) \
diff --git a/graphics/fotoxx/patches/patch-ab b/graphics/fotoxx/patches/patch-ab
index 2189f10ea56..40581add531 100644
--- a/graphics/fotoxx/patches/patch-ab
+++ b/graphics/fotoxx/patches/patch-ab
@@ -1,17 +1,46 @@
-$NetBSD: patch-ab,v 1.1.1.1 2008/12/09 15:10:34 wiz Exp $
+$NetBSD: patch-ab,v 1.2 2010/08/24 18:58:03 bad Exp $
---- zfuncs.cpp.orig 2008-12-05 13:36:40.000000000 +0000
-+++ zfuncs.cpp
-@@ -29,10 +29,12 @@ void appcrash(cchar *pMess, ... )
+--- zfuncs.cc.orig 2010-08-18 11:23:51.000000000 +0000
++++ zfuncs.cc 2010-08-23 00:03:30.000000000 +0000
+@@ -46,10 +46,12 @@
- printf("appcrash: %s \n",message);
+ printf("appcrash: \n %s \n",message);
+#ifdef backtrace
- nstack = backtrace(stacklist,nstack); // good for g++ -rdynamic v.16
+ nstack = backtrace(stacklist,nstack); // good for g++ -rdynamic
stackents = backtrace_symbols(stacklist,nstack);
- for (ii = 0; ii < nstack; ii++)
- printf("function: %s \n",stackents[ii]);
+ for (ii = 0; ii < nstack; ii++)
+ printf(" %s \n",stackents[ii]);
+#endif
- abort(); // good for gdb backtrace v.16
+ abort(); // good for gdb backtrace
}
+@@ -79,10 +81,12 @@
+
+ fprintf(fid,"zappcrash: \n %s \n",message);
+
++#ifdef backtrace
+ nstack = backtrace(stacklist,nstack);
+ stackents = backtrace_symbols(stacklist,nstack);
+ for (ii = 0; ii < nstack; ii++)
+ fprintf(fid," %s \n",stackents[ii]);
++#endif
+
+ fclose(fid);
+
+@@ -739,6 +743,7 @@
+
+ ***************************************************************************/
+
++#ifdef zmondirk
+ int zmondirk(cchar *action, cchar *dirk, char **file)
+ {
+ struct inotify_event {
+@@ -831,6 +836,7 @@
+ zappcrash("zmondirk() call error");
+ return -1;
+ }
++#endif
+
+
+ /**************************************************************************
diff --git a/graphics/fotoxx/patches/patch-ac b/graphics/fotoxx/patches/patch-ac
index 0585d2b1870..82244df1205 100644
--- a/graphics/fotoxx/patches/patch-ac
+++ b/graphics/fotoxx/patches/patch-ac
@@ -1,13 +1,17 @@
-$NetBSD: patch-ac,v 1.1.1.1 2008/12/09 15:10:34 wiz Exp $
+$NetBSD: patch-ac,v 1.2 2010/08/24 18:58:03 bad Exp $
---- zfuncs.h.orig 2008-12-05 13:36:40.000000000 +0000
-+++ zfuncs.h
-@@ -17,7 +17,7 @@
+--- zfuncs.h.orig 2010-08-18 11:23:51.000000000 +0000
++++ zfuncs.h 2010-08-22 23:33:33.000000000 +0000
+@@ -34,9 +34,10 @@
#include <pthread.h>
#include <errno.h>
#include <signal.h>
-#include <execinfo.h>
++//#include <execinfo.h>
+#include <sys/wait.h>
-
- #include <libintl.h> // gettext v.2.9
#include <locale.h>
+-#include <sys/inotify.h>
++//#include <sys/inotify.h>
+
+ #define int8 char // number types
+ #define int16 short
diff --git a/graphics/fotoxx/patches/patch-ad b/graphics/fotoxx/patches/patch-ad
new file mode 100644
index 00000000000..6b6bdb8b13e
--- /dev/null
+++ b/graphics/fotoxx/patches/patch-ad
@@ -0,0 +1,303 @@
+$NetBSD: patch-ad,v 1.1 2010/08/24 18:58:03 bad Exp $
+
+--- fotoxx-10.8.4.cc.orig 2010-08-18 11:23:51.000000000 +0000
++++ fotoxx-10.8.4.cc 2010-08-22 23:59:53.000000000 +0000
+@@ -145,7 +145,7 @@
+ int gridy1 = 0, gridy2 = 0, gridny = 0; // Y gridlines
+ int Fslideshow = 0; // slide show mode is active
+ int SS_interval = 3; // slide show interval
+-int SS_timer = 0; // slide show timer
++double SS_timer = 0; // slide show timer
+ int SBupdate = 0; // request to update status bar
+ int SB_goal = 0, SB_done = 0; // status bar progress tracking
+ char SB_text[100]; // optional status bar text
+@@ -985,25 +985,25 @@
+ else Mscale = Fzoom; // scale to Fzoom level
+
+ if (Mscale > pscale) { // zoom increased
+- Iorgx += iww * 0.5 * (1.0 - pscale / Mscale); // keep current image center
+- Iorgy += ihh * 0.5 * (1.0 - pscale / Mscale);
++ Iorgx += (int)(iww * 0.5 * (1.0 - pscale / Mscale)); // keep current image center
++ Iorgy += (int)(ihh * 0.5 * (1.0 - pscale / Mscale));
+ }
+ pscale = Mscale;
+
+- iww = Dww / Mscale; // image space fitting in window
++ iww = (int)(Dww / Mscale); // image space fitting in window
+ if (iww > Iww) iww = Iww;
+- ihh = Dhh / Mscale;
++ ihh = (int)(Dhh / Mscale);
+ if (ihh > Ihh) ihh = Ihh;
+
+ if (zoomx || zoomy) { // req. zoom center
+- Iorgx = zoomx - 0.5 * iww; // corresp. image origin
+- Iorgy = zoomy - 0.5 * ihh;
++ Iorgx = (int)(zoomx - 0.5 * iww); // corresp. image origin
++ Iorgy = (int)(zoomy - 0.5 * ihh);
+ zoomx = zoomy = 0;
+ }
+
+ if ((Mxdrag || Mydrag) && ! Mcapture) { // scroll via mouse drag
+- incrx = (Mxdrag - Mxdown) * 1.3 * Iww / iww; // scale
+- incry = (Mydrag - Mydown) * 1.3 * Ihh / ihh;
++ incrx = (int)((Mxdrag - Mxdown) * 1.3 * Iww / iww); // scale
++ incry = (int)((Mydrag - Mydown) * 1.3 * Ihh / ihh);
+ if (pincrx > 0 && incrx < 0) incrx = 0; // stop bounce at extremes
+ if (pincrx < 0 && incrx > 0) incrx = 0;
+ pincrx = incrx;
+@@ -1019,13 +1019,13 @@
+
+ if (iww == Iww) { // scaled image <= window width
+ Iorgx = 0; // center image in window
+- Dorgx = 0.5 * (Dww - Iww * Mscale);
++ Dorgx = (int)(0.5 * (Dww - Iww * Mscale));
+ }
+ else Dorgx = 0; // image > window, use entire window
+
+ if (ihh == Ihh) { // same for image height
+ Iorgy = 0;
+- Dorgy = 0.5 * (Dhh - Ihh * Mscale);
++ Dorgy = (int)(0.5 * (Dhh - Ihh * Mscale));
+ }
+ else Dorgy = 0;
+
+@@ -1041,8 +1041,8 @@
+ }
+ else pxmtemp2 = PXM_copy_area(Fpxm8,Iorgx,Iorgy,iww,ihh); // no edit, copy PXM-8
+
+- dww = iww * Mscale; // scale to window
+- dhh = ihh * Mscale;
++ dww = (int)(iww * Mscale); // scale to window
++ dhh = (int)(ihh * Mscale);
+ PXM_free(Dpxm8);
+ Dpxm8 = PXM_rescale(pxmtemp2,dww,dhh);
+ PXM_free(pxmtemp2);
+@@ -1120,7 +1120,7 @@
+
+ if (SB_goal) // progress monitor v.9.6
+ {
+- percent_done = 100 * (1.0 * SB_done / SB_goal);
++ percent_done = (int)(100 * (1.0 * SB_done / SB_goal));
+ snprintf(text2,99," done: %d%c",percent_done,'%');
+ strcat(text1,text2);
+ }
+@@ -1477,7 +1477,7 @@
+ x2 = Mscale * (ix2-Iorgx);
+ y2 = Mscale * (iy2-Iorgy);
+
+- if (abs(y2 - y1) > abs(x2 - x1)) {
++ if (fabs(y2 - y1) > fabs(x2 - x1)) {
+ slope = 1.0 * (x2 - x1) / (y2 - y1);
+ if (y2 > y1) {
+ for (pym = y1; pym <= y2; pym++) {
+@@ -1548,7 +1548,7 @@
+ x2 = Mscale * (ix2-Iorgx);
+ y2 = Mscale * (iy2-Iorgy);
+
+- if (abs(y2 - y1) > abs(x2 - x1)) {
++ if (fabs(y2 - y1) > fabs(x2 - x1)) {
+ slope = 1.0 * (x2 - x1) / (y2 - y1);
+ if (y2 > y1) {
+ for (pym = y1; pym <= y2; pym++) {
+@@ -1865,7 +1865,7 @@
+ if (xval < apx[spc][0]) continue;
+ if (xval > apx[spc][nap[spc]-1]) continue;
+ yval = curve_yval(spc,xval);
+- px = ww * yval + 0.49; // almost round - erratic FP in Intel CPUs
++ px = (int)(ww * yval + 0.49); // almost round - erratic FP in Intel CPUs
+ gdk_draw_point(drawarea->window,gdkgc,px,py); // causes "bumps" in a flat curve
+ }
+
+@@ -1873,8 +1873,8 @@
+ {
+ xval = apx[spc][ap];
+ yval = apy[spc][ap];
+- px = ww * yval;
+- py = hh * xval;
++ px = (int)(ww * yval);
++ py = (int)(hh * xval);
+ for (qx = -2; qx < 3; qx++)
+ for (qy = -2; qy < 3; qy++) {
+ if (px+qx < 0 || px+qx >= ww) continue;
+@@ -1891,7 +1891,7 @@
+ if (xval < apx[spc][0]) continue;
+ if (xval > apx[spc][nap[spc]-1]) continue;
+ yval = curve_yval(spc,xval);
+- py = hh - hh * yval + 0.49; // almost round - erratic FP in Intel CPUs
++ py = (int)(hh - hh * yval + 0.49); // almost round - erratic FP in Intel CPUs
+ gdk_draw_point(drawarea->window,gdkgc,px,py); // causes "bumps" in a flat curve
+ }
+
+@@ -1899,8 +1899,8 @@
+ {
+ xval = apx[spc][ap];
+ yval = apy[spc][ap];
+- px = ww * xval;
+- py = hh - hh * yval;
++ px = (int)(ww * xval);
++ py = (int)(hh - hh * yval);
+ for (qx = -2; qx < 3; qx++)
+ for (qy = -2; qy < 3; qy++) {
+ if (px+qx < 0 || px+qx >= ww) continue;
+@@ -1926,9 +1926,9 @@
+
+ spline1(nap[spc],apx[spc],apy[spc]); // compute curve fitting anchor points
+
+- kklo = 1000 * apx[spc][0] - 30; // xval range = anchor point range
++ kklo = (int)(1000 * apx[spc][0] - 30); // xval range = anchor point range
+ if (kklo < 0) kklo = 0; // + 0.03 extra below/above v.9.5
+- kkhi = 1000 * apx[spc][nap[spc]-1] + 30;
++ kkhi = (int)(1000 * apx[spc][nap[spc]-1] + 30);
+ if (kkhi > 1000) kkhi = 1000;
+
+ for (kk = 0; kk < 1000; kk++) // generate all points for curve
+@@ -1990,7 +1990,7 @@
+ if (image_file)
+ image_gallery(image_file,"paint1",0,m_gallery2); // force show gallery window v.10.6
+ else {
+- char *pp = get_current_dir_name();
++ char *pp = getcwd((char *)0, 0);
+ if (pp) {
+ image_gallery(pp,"paint1",0,m_gallery2);
+ free(pp);
+@@ -3181,7 +3181,7 @@
+ zdialog_free(zd);
+ SS_interval = secs; // interval between slides
+ if (zstat != 1) secs = 9999; // cancel, use huge interval
+- SS_timer = get_seconds() + secs + 1; // set timer for next slide
++ SS_timer = (int)(get_seconds() + secs + 1); // set timer for next slide
+ Fslideshow = 1;
+ }
+
+@@ -6531,7 +6531,7 @@
+ int ii, click, newseq, thresh;
+ static int drag = 0, mdx0, mdy0, mdx1, mdy1;
+
+- sa_thresh = 4.0 / Mscale + 1; // mouse pixel distance threshold
++ sa_thresh = (int)(4.0 / Mscale + 1); // mouse pixel distance threshold
+ click = newseq = 0;
+
+ if (LMclick || Mxdrag || Mydrag) // left mouse click or mouse drag
+@@ -6665,7 +6665,7 @@
+ }
+ }
+
+- if (npx + npy) return sqrt(mindist) + 0.5;
++ if (npx + npy) return (int)(sqrt(mindist) + 0.5);
+ return 0;
+ }
+
+@@ -6689,13 +6689,13 @@
+ slope = 1.0 * (px2 - px1) / (py2 - py1);
+ if (py2 > py1) {
+ for (pym = py1; pym <= py2; pym++) {
+- pxm = round(px1 + slope * (pym - py1));
++ pxm = (int)round(px1 + slope * (pym - py1));
+ sa_draw1pix(pxm,pym);
+ }
+ }
+ else {
+ for (pym = py1; pym >= py2; pym--) {
+- pxm = round(px1 + slope * (pym - py1));
++ pxm = (int)round(px1 + slope * (pym - py1));
+ sa_draw1pix(pxm,pym);
+ }
+ }
+@@ -6704,13 +6704,13 @@
+ slope = 1.0 * (py2 - py1) / (px2 - px1);
+ if (px2 > px1) {
+ for (pxm = px1; pxm <= px2; pxm++) {
+- pym = round(py1 + slope * (pxm - px1));
++ pym = (int)round(py1 + slope * (pxm - px1));
+ sa_draw1pix(pxm,pym);
+ }
+ }
+ else {
+ for (pxm = px1; pxm >= px2; pxm--) {
+- pym = round(py1 + slope * (pxm - px1));
++ pym = (int)round(py1 + slope * (pxm - px1));
+ sa_draw1pix(pxm,pym);
+ }
+ }
+@@ -6764,7 +6764,7 @@
+ { // and perpendicular to p4 - p2
+ px5 = px4 + ii * dy / dist;
+ py5 = py4 - ii * dx / dist;
+- contrast = sa_get_contrast(px5,py5);
++ contrast = sa_get_contrast((int)px5,(int)py5);
+ if (contrast > maxcontrast) {
+ px6 = px5; // p6 = highest contrast point in p5
+ py6 = py5;
+@@ -6772,13 +6772,13 @@
+ }
+ }
+
+- sa_draw_line(px3,py3,px6,py6); // draw p3 to p6
++ sa_draw_line((int)px3,(int)py3,(int)px6,(int)py6); // draw p3 to p6
+
+ px3 = px6; // next p3
+ py3 = py6;
+ }
+
+- sa_draw_line(px3,py3,px2,py2);
++ sa_draw_line((int)px3,(int)py3,px2,py2);
+ return;
+ }
+
+@@ -6913,7 +6913,7 @@
+ memset(sa_pixselc,0,cc);
+
+ radius = sa_colorradius; // use radius from dialog v.10.8
+- if (! radius) radius = 1 + 1.0 / Mscale; // or small default radius
++ if (! radius) radius = (int)(1 + 1.0 / Mscale); // or small default radius
+ radius2 = radius * radius;
+
+ sa_Nmatch = 0; // match color count
+@@ -7643,7 +7643,7 @@
+
+ for (nn = 0; nn < Fww * Fhh * 2; nn++) // do random pixels v.9.6
+ {
+- ii = drandz(&seed) * Fww * Fhh;
++ ii = (int)(drandz(&seed) * Fww * Fhh);
+ if (sa_pixisin[ii] < 2) continue; // ignore outside and edge pixels
+ if (sa_edgedist[ii]) continue; // already calculated
+ py = ii / Fww;
+@@ -7710,12 +7710,12 @@
+ if (epy > py1) inc = 1;
+ else inc = -1;
+ for (pym = py1; pym != epy; pym += inc) {
+- pxm = px1 + slope * (pym - py1);
++ pxm = (int)(px1 + slope * (pym - py1));
+ ii = pym * Fww + pxm;
+ if (sa_edgedist[ii]) continue;
+ dx = epx - pxm; // calculate distance to edge
+ dy = epy - pym;
+- dist2 = sqrt(dx*dx + dy*dy) + 0.5;
++ dist2 = (uint)(sqrt(dx*dx + dy*dy) + 0.5);
+ sa_edgedist[ii] = dist2; // save
+ SB_done++;
+ }
+@@ -7726,12 +7726,12 @@
+ if (epx > px1) inc = 1;
+ else inc = -1;
+ for (pxm = px1; pxm != epx; pxm += inc) {
+- pym = py1 + slope * (pxm - px1);
++ pym = (int)(py1 + slope * (pxm - px1));
+ ii = pym * Fww + pxm;
+ if (sa_edgedist[ii]) continue;
+ dx = epx - pxm;
+ dy = epy - pym;
+- dist2 = sqrt(dx*dx + dy*dy) + 0.5;
++ dist2 = (int)sqrt(dx*dx + dy*dy) + 0.5;
+ sa_edgedist[ii] = dist2;
+ SB_done++;
+ }
+@@ -7770,7 +7770,7 @@
+ }
+
+ kk = py1 * Fww + px1;
+- sa_edgedist[kk] = sqrt(mindist2) + 0.5;
++ sa_edgedist[kk] = (int)(sqrt(mindist2) + 0.5);
+
+ SB_done++;
+ return;