From 2ef0a359e5aba5af569dd1abfce10695846111c1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 04 Oct 2012 18:27:06 -0400
Subject: [PATCH] Fixed repository reference leak in fork mechanism

---
 src/com/gitblit/wicket/panels/RepositoriesPanel.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/com/gitblit/wicket/panels/RepositoriesPanel.java b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
index 4c9ed28..02ebf4f 100644
--- a/src/com/gitblit/wicket/panels/RepositoriesPanel.java
+++ b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
@@ -167,7 +167,7 @@
 						row.add(new Label("groupDescription", getString("gb.personalRepositories")));
 					} else {
 						// project page
-						row.add(new LinkPanel("groupName", null, name, ProjectPage.class, WicketUtils.newProjectParameter(name)));
+						row.add(new LinkPanel("groupName", null, name, ProjectPage.class, WicketUtils.newProjectParameter(entry.name)));
 						row.add(new Label("groupDescription", entry.description == null ? "":entry.description));
 					}
 					WicketUtils.setCssClass(item, "group");
@@ -222,6 +222,13 @@
 					// New repository
 					row.add(new Label("repositorySize", "<span class='empty'>(" + getString("gb.empty") + ")</span>")
 							.setEscapeModelStrings(false));
+				}
+
+				if (entry.isFork()) {
+					row.add(WicketUtils.newImage("forkIcon", "commit_divide_16x16.png",
+							getString("gb.isFork")));
+				} else {
+					row.add(WicketUtils.newClearPixel("forkIcon").setVisible(false));
 				}
 
 				if (entry.useTickets) {
@@ -305,11 +312,11 @@
 						@Override
 						public void onClick() {
 							if (GitBlit.self().deleteRepositoryModel(entry)) {
-								info(MessageFormat.format(getString("gb.repositoryDeleted"), entry));
 								if (dp instanceof SortableRepositoriesProvider) {
+									info(MessageFormat.format(getString("gb.repositoryDeleted"), entry));
 									((SortableRepositoriesProvider) dp).remove(entry);
 								} else {
-									((RepositoriesProvider) dp).remove(entry);
+									setResponsePage(getPage().getClass(), getPage().getPageParameters());
 								}
 							} else {
 								error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), entry));

--
Gitblit v1.9.1