From f78bd3f8c53461c27dc6eb59161798da5d88e2e8 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Sat, 4 Apr 2015 18:12:32 -0700 Subject: [PATCH] Fix two bugs found by @TiuTalk * When redirecting internal links, double-check that they actually are internal before doing so. * Avoid double-adding items to the /browse mod list --- src/coffee/controllers/base_controller.coffee | 3 +++ src/coffee/controllers/browse_page_controller.coffee | 1 + src/coffee/controllers/mod_pack_controller.coffee | 3 +-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/coffee/controllers/base_controller.coffee b/src/coffee/controllers/base_controller.coffee index d23886f43..9f13f1392 100644 --- a/src/coffee/controllers/base_controller.coffee +++ b/src/coffee/controllers/base_controller.coffee @@ -63,6 +63,9 @@ module.exports = class BaseController extends Backbone.View href = $(event.target).attr 'href' href ?= $(event.currentTarget).attr 'href' logger.info "Re-routing link to internal navigation: #{href}" + if href? and href.match /^http/ + window.location.href = href + router.navigate href, trigger:true show: (args...)-> diff --git a/src/coffee/controllers/browse_page_controller.coffee b/src/coffee/controllers/browse_page_controller.coffee index 15e238b2a..f188ac484 100644 --- a/src/coffee/controllers/browse_page_controller.coffee +++ b/src/coffee/controllers/browse_page_controller.coffee @@ -45,6 +45,7 @@ module.exports = class BrowsePageController extends PageController controller = @_controllers[controllerIndex] if not controller? controller = new ModController model:mod + @_controllers.push controller controller.render() @$modContainer.append controller.$el else diff --git a/src/coffee/controllers/mod_pack_controller.coffee b/src/coffee/controllers/mod_pack_controller.coffee index 8295a843a..396522416 100644 --- a/src/coffee/controllers/mod_pack_controller.coffee +++ b/src/coffee/controllers/mod_pack_controller.coffee @@ -68,5 +68,4 @@ module.exports = class ModPackController extends BaseController index += 1 while @_modControllers.length > index - controller = @_modControllers.pop() - controller.$el.fadeOut duration:Duration.normal, complete:-> @remove() + @_modControllers.pop().remove()