about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2008-09-27 01:37:09 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2008-09-27 01:37:09 +0000
commit5d64f5134f6677a5f6766cd4a6245f0a9056e152 (patch)
treea63a6e23e55b3bcb090076aabffa41299f53478d
parenta23f38fc2e675b089ca23baf71d3e4c3ab23543e (diff)
downloadnetpbm-mirror-5d64f5134f6677a5f6766cd4a6245f0a9056e152.tar.gz
netpbm-mirror-5d64f5134f6677a5f6766cd4a6245f0a9056e152.tar.xz
netpbm-mirror-5d64f5134f6677a5f6766cd4a6245f0a9056e152.zip
Release 10.35.52
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@735 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r--GNUmakefile15
-rw-r--r--Makefile.version2
-rw-r--r--doc/HISTORY8
-rw-r--r--lib/libppmd.c8
4 files changed, 31 insertions, 2 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 14c01017..5aa25ca9 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -59,7 +59,8 @@ VPATH=.:$(SRCDIR)
 
 include $(BUILDDIR)/Makefile.config
 
-PRODUCT_SUBDIRS = lib converter analyzer editor generator other
+PROG_SUBDIRS = converter analyzer editor generator other
+PRODUCT_SUBDIRS = lib $(PROG_SUBDIRS)
 SUPPORT_SUBDIRS = urt buildtools
 
 SUBDIRS = $(PRODUCT_SUBDIRS) $(SUPPORT_SUBDIRS)
@@ -87,6 +88,18 @@ all: nonmerge
 .PHONY: nonmerge
 nonmerge: $(PRODUCT_SUBDIRS:%=%/all)
 
+# Parallel make (make --jobs) is not smart enough to coordinate builds
+# between submakes, so a naive parallel make would cause certain
+# targets to get built multiple times simultaneously.  That is usually
+# unacceptable.  So we introduce extra dependencies here just to make
+# sure such targets are already up to date before the submake starts,
+# for the benefit of parallel make.  Note that we ensure that parallel
+# make works for 'make all' in the top directory, but it may still fail
+# for the aforementioned reason for other invocations.
+
+$(SUBDIRS:%=%/all): pm_config.h inttypes_netpbm.h version.h
+$(PROG_SUBDIRS:%=%/all): lib/all $(SUPPORT_SUBDIRS:%=%/all)
+
 OMIT_CONFIG_RULE = 1
 OMIT_VERSION_H_RULE = 1
 OMIT_INTTYPES_RULE = 1
diff --git a/Makefile.version b/Makefile.version
index c9a70b30..e57f2743 100644
--- a/Makefile.version
+++ b/Makefile.version
@@ -1,3 +1,3 @@
 NETPBM_MAJOR_RELEASE = 10
 NETPBM_MINOR_RELEASE = 35
-NETPBM_POINT_RELEASE = 51
+NETPBM_POINT_RELEASE = 52
diff --git a/doc/HISTORY b/doc/HISTORY
index 9d669dc1..4b07991f 100644
--- a/doc/HISTORY
+++ b/doc/HISTORY
@@ -4,6 +4,14 @@ Netpbm.
 CHANGE HISTORY 
 --------------
 
+08.09.27 BJH  Release 10.35.52
+
+              libppmd/ppmdraw: fix crash when line is completely out of
+              frame.
+
+              Build: add dependencies so parallel make of top level
+              "all" works.
+
 08.09.12 BJH  Release 10.35.51
 
               pamgradient: fix bug: always produces color, not grayscale.
diff --git a/lib/libppmd.c b/lib/libppmd.c
index f2852338..6970b9f7 100644
--- a/lib/libppmd.c
+++ b/lib/libppmd.c
@@ -220,6 +220,14 @@ clipEnd0(int    const x0,
         }
     }
 
+    /* Clipping vertically may have moved the endpoint out of frame
+       horizontally.  If so, we know the other endpoint is also out of
+       frame horizontally and the line misses the frame entirely.
+    */
+    if (cx0 < 0 || cx0 >= cols) {
+        assert(x1 < 0 || x1 >= cols);
+        noLine = TRUE;
+    }
     *cx0P = cx0;
     *cy0P = cy0;
     *noLineP = noLine;