From d19549897c0c373522e29fdcf0701edfd4956ae2 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 03 Jul 2014 16:21:01 -0400
Subject: [PATCH] Merged #128 "Move apt folder from 'dagger' to 'gen'"

---
 src/main/java/com/gitblit/tickets/TicketNotifier.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/gitblit/tickets/TicketNotifier.java b/src/main/java/com/gitblit/tickets/TicketNotifier.java
index 48fe051..07371b1 100644
--- a/src/main/java/com/gitblit/tickets/TicketNotifier.java
+++ b/src/main/java/com/gitblit/tickets/TicketNotifier.java
@@ -204,7 +204,9 @@
 			} catch (Exception e) {
 				Logger.getLogger(getClass()).error("failed to get changed paths", e);
 			} finally {
-				repo.close();
+				if (repo != null) {
+					repo.close();
+				}
 			}
 
 			String compareUrl = ticketService.getCompareUrl(ticket, base, patchset.tip);
@@ -543,7 +545,6 @@
 				}
 			}
 		}
-		mailing.setRecipients(toAddresses);
 
 		//
 		// CC recipients
@@ -552,7 +553,7 @@
 
 		// repository owners
 		if (!ArrayUtils.isEmpty(repository.owners)) {
-			tos.addAll(repository.owners);
+			ccs.addAll(repository.owners);
 		}
 
 		// cc users mentioned in last comment
@@ -593,6 +594,14 @@
 		}
 		ccAddresses.addAll(settings.getStrings(Keys.mail.mailingLists));
 
+		// respect the author's email preference
+		UserModel lastAuthor = userManager.getUserModel(lastChange.author);
+		if (!lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) {
+			toAddresses.remove(lastAuthor.emailAddress);
+			ccAddresses.remove(lastAuthor.emailAddress);
+		}
+
+		mailing.setRecipients(toAddresses);
 		mailing.setCCs(ccAddresses);
 	}
 

--
Gitblit v1.9.1