First problem from the "daily build of subsurface hangs (reproducable
for me)" thread solved:
in planner.c unsigned int stoplevels were compared with int depth.


Jan Darowski
From ed0d74a067e2dd33e83bc4f5c48bc453d4b1eb1a Mon Sep 17 00:00:00 2001
From: Jan Darowski <[email protected]>
Date: Mon, 15 Jun 2015 00:20:09 +0200
Subject: [PATCH] Fixed ticket 880 "reproducable hang when using "edit dive in
 planner" on non-planned dive" unsigned / signed int comparing.

Signed-off-by: Jan Darowski <[email protected]>
---
 planner.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/planner.c b/planner.c
index ad855e6..c8578c3 100644
--- a/planner.c
+++ b/planner.c
@@ -1028,7 +1028,7 @@ bool plan(struct diveplan *diveplan, char **cached_datap, bool is_planner, bool
 						       TIMESTEP, po2, &displayed_dive, prefs.decosac);
 			clock += TIMESTEP;
 			depth -= deltad;
-		} while (depth > stoplevels[stopidx]);
+		} while (depth > 0 && depth > stoplevels[stopidx]);
 
 		if (depth <= 0)
 			break; /* We are at the surface */
-- 
2.2.2

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to