Quantcast

Final revision of the Ace overrides

Steven Jackson [03-07-15 - 22:12]
Final revision of the Ace overrides
Filename
SVUI_!Core/libs/AceVillain/AceVillain_Config-Cmd.lua
SVUI_!Core/libs/AceVillain/AceVillain_Config-Dialog.lua
SVUI_!Core/libs/AceVillain/AceVillain_Config-Registry.lua
SVUI_!Core/libs/AceVillain/AceVillain_Config.lua
SVUI_!Core/libs/AceVillain/AceVillain_GUI.lua
SVUI_!Core/libs/AceVillain/sharedwidgets/BackgroundWidget.lua
SVUI_!Core/libs/AceVillain/sharedwidgets/BorderWidget.lua
SVUI_!Core/libs/AceVillain/sharedwidgets/FontWidget.lua
SVUI_!Core/libs/AceVillain/sharedwidgets/SoundWidget.lua
SVUI_!Core/libs/AceVillain/sharedwidgets/StatusbarWidget.lua
SVUI_!Core/libs/AceVillain/sharedwidgets/prototypes.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-DropDownGroup.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Frame.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-InlineGroup.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TabGroup.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TreeGroup.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Window.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown-Items.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Heading.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-MultiLineEditBox.lua
SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Slider.lua
SVUI_!Core/libs/_Librarian/Librarian.lua
diff --git a/SVUI_!Core/libs/AceVillain/AceVillain_Config-Cmd.lua b/SVUI_!Core/libs/AceVillain/AceVillain_Config-Cmd.lua
index ebae130..1b3915a 100644
--- a/SVUI_!Core/libs/AceVillain/AceVillain_Config-Cmd.lua
+++ b/SVUI_!Core/libs/AceVillain/AceVillain_Config-Cmd.lua
@@ -5,7 +5,7 @@ local table      	= _G.table;
 local LibStub 		= _G.LibStub;

 local MAJOR, MINOR = "AceConfigCmd-3.0", 13
-local AceConfigCmd = LibStub:NewLibrary(MAJOR, MINOR)
+local AceConfigCmd = LibStub:NewLibrary(MAJOR, MINOR, true)

 if not AceConfigCmd then return end

diff --git a/SVUI_!Core/libs/AceVillain/AceVillain_Config-Dialog.lua b/SVUI_!Core/libs/AceVillain/AceVillain_Config-Dialog.lua
index 16a68fe..e64d649 100644
--- a/SVUI_!Core/libs/AceVillain/AceVillain_Config-Dialog.lua
+++ b/SVUI_!Core/libs/AceVillain/AceVillain_Config-Dialog.lua
@@ -5,7 +5,7 @@ local table      	= _G.table;
 local LibStub 		= _G.LibStub;
 local MAJOR, MINOR  = "AceConfigDialog-1.0", 58

-local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
+local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR, true)

 if not AceConfigDialog then return end

diff --git a/SVUI_!Core/libs/AceVillain/AceVillain_Config-Registry.lua b/SVUI_!Core/libs/AceVillain/AceVillain_Config-Registry.lua
index 478913d..98b6af1 100644
--- a/SVUI_!Core/libs/AceVillain/AceVillain_Config-Registry.lua
+++ b/SVUI_!Core/libs/AceVillain/AceVillain_Config-Registry.lua
@@ -5,7 +5,7 @@ local table      	= _G.table;
 local LibStub 		= _G.LibStub;

 local MAJOR, MINOR = "AceConfigRegistry-3.0", 14
-local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR)
+local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR, true)

 if not AceConfigRegistry then return end

diff --git a/SVUI_!Core/libs/AceVillain/AceVillain_Config.lua b/SVUI_!Core/libs/AceVillain/AceVillain_Config.lua
index 7f3a39d..3cc6cd1 100644
--- a/SVUI_!Core/libs/AceVillain/AceVillain_Config.lua
+++ b/SVUI_!Core/libs/AceVillain/AceVillain_Config.lua
@@ -5,7 +5,7 @@ local table      	= _G.table;
 local LibStub 		= _G.LibStub;

 local MAJOR, MINOR = "AceConfig-3.0", 2
-local AceConfig = LibStub:NewLibrary(MAJOR, MINOR)
+local AceConfig = LibStub:NewLibrary(MAJOR, MINOR, true)

 if not AceConfig then return end

diff --git a/SVUI_!Core/libs/AceVillain/AceVillain_GUI.lua b/SVUI_!Core/libs/AceVillain/AceVillain_GUI.lua
index 236b976..1be74bd 100644
--- a/SVUI_!Core/libs/AceVillain/AceVillain_GUI.lua
+++ b/SVUI_!Core/libs/AceVillain/AceVillain_GUI.lua
@@ -21,7 +21,7 @@ local math_max		= math.max;
 local LibStub 		= _G.LibStub;

 local MAJOR, MINOR = "AceGUI-3.0", 34
-local AceGUI, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
+local AceGUI, oldminor = LibStub:NewLibrary(MAJOR, MINOR, true)

 if not AceGUI then return end -- No upgrade needed

diff --git a/SVUI_!Core/libs/AceVillain/sharedwidgets/BackgroundWidget.lua b/SVUI_!Core/libs/AceVillain/sharedwidgets/BackgroundWidget.lua
index 4c8c843..feff11a 100644
--- a/SVUI_!Core/libs/AceVillain/sharedwidgets/BackgroundWidget.lua
+++ b/SVUI_!Core/libs/AceVillain/sharedwidgets/BackgroundWidget.lua
@@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0")

 do
 	local widgetType = "LSM30_Background"
-	local widgetVersion = 10
+	local widgetVersion = 999999

 	local contentFrameCache = {}
 	local function ReturnSelf(self)
@@ -56,7 +56,7 @@ do
 			local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite")
 				local font, size = text:GetFont()
 				text:SetFont(font,size,"OUTLINE")
-
+				text:SetWordWrap(false)
 				text:SetPoint("LEFT", check, "RIGHT", 1, 0)
 				text:SetPoint("RIGHT", frame, "RIGHT", -2, 0)
 				text:SetJustifyH("LEFT")
@@ -162,7 +162,7 @@ do
 			for i, k in ipairs(sortedlist) do
 				local f = GetContentLine()
 				f.text:SetText(k)
-				--print(k)
+				f.text:SetWordWrap(false)
 				if k == self.value then
 					f.check:Show()
 				end
diff --git a/SVUI_!Core/libs/AceVillain/sharedwidgets/BorderWidget.lua b/SVUI_!Core/libs/AceVillain/sharedwidgets/BorderWidget.lua
index aa0165e..c4042ca 100644
--- a/SVUI_!Core/libs/AceVillain/sharedwidgets/BorderWidget.lua
+++ b/SVUI_!Core/libs/AceVillain/sharedwidgets/BorderWidget.lua
@@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0")

 do
 	local widgetType = "LSM30_Border"
-	local widgetVersion = 10
+	local widgetVersion = 999999

 	local contentFrameCache = {}
 	local function ReturnSelf(self)
@@ -55,6 +55,7 @@ do
 				check:Hide()
 			frame.check = check
 			local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite")
+				text:SetWordWrap(false)
 				text:SetPoint("LEFT", check, "RIGHT", 1, 0)
 				text:SetPoint("RIGHT", frame, "RIGHT", -2, 0)
 				text:SetJustifyH("LEFT")
diff --git a/SVUI_!Core/libs/AceVillain/sharedwidgets/FontWidget.lua b/SVUI_!Core/libs/AceVillain/sharedwidgets/FontWidget.lua
index a18a51f..28a4052 100644
--- a/SVUI_!Core/libs/AceVillain/sharedwidgets/FontWidget.lua
+++ b/SVUI_!Core/libs/AceVillain/sharedwidgets/FontWidget.lua
@@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0")

 do
 	local widgetType = "LSM30_Font"
-	local widgetVersion = 10
+	local widgetVersion = 999999

 	local contentFrameCache = {}
 	local function ReturnSelf(self)
@@ -44,6 +44,7 @@ do
 				check:Hide()
 			frame.check = check
 			local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite")
+				text:SetWordWrap(false)
 				text:SetPoint("LEFT", check, "RIGHT", 1, 0)
 				text:SetPoint("RIGHT", frame, "RIGHT", -2, 0)
 				text:SetJustifyH("LEFT")
diff --git a/SVUI_!Core/libs/AceVillain/sharedwidgets/SoundWidget.lua b/SVUI_!Core/libs/AceVillain/sharedwidgets/SoundWidget.lua
index 76ac185..387500c 100644
--- a/SVUI_!Core/libs/AceVillain/sharedwidgets/SoundWidget.lua
+++ b/SVUI_!Core/libs/AceVillain/sharedwidgets/SoundWidget.lua
@@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0")

 do
 	local widgetType = "LSM30_Sound"
-	local widgetVersion = 10
+	local widgetVersion = 999999

 	local contentFrameCache = {}
 	local function ReturnSelf(self)
@@ -68,6 +68,7 @@ do
 			frame.speakeron = speakeron

 			local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite")
+				text:SetWordWrap(false)
 				text:SetPoint("LEFT", check, "RIGHT", 1, 0)
 				text:SetPoint("RIGHT", soundbutton, "LEFT", -2, 0)
 				text:SetJustifyH("LEFT")
diff --git a/SVUI_!Core/libs/AceVillain/sharedwidgets/StatusbarWidget.lua b/SVUI_!Core/libs/AceVillain/sharedwidgets/StatusbarWidget.lua
index 79ed250..375d099 100644
--- a/SVUI_!Core/libs/AceVillain/sharedwidgets/StatusbarWidget.lua
+++ b/SVUI_!Core/libs/AceVillain/sharedwidgets/StatusbarWidget.lua
@@ -8,7 +8,7 @@ local AGSMW = LibStub("AceGUISharedMediaWidgets-1.0")

 do
 	local widgetType = "LSM30_Statusbar"
-	local widgetVersion = 10
+	local widgetVersion = 999999

 	local contentFrameCache = {}
 	local function ReturnSelf(self)
@@ -52,7 +52,7 @@ do

 				local font, size = text:GetFont()
 				text:SetFont(font,size,"OUTLINE")
-
+				text:SetWordWrap(false)
 				text:SetPoint("LEFT", check, "RIGHT", 3, 0)
 				text:SetPoint("RIGHT", frame, "RIGHT", -2, 0)
 				text:SetJustifyH("LEFT")
diff --git a/SVUI_!Core/libs/AceVillain/sharedwidgets/prototypes.lua b/SVUI_!Core/libs/AceVillain/sharedwidgets/prototypes.lua
index 8b4d84c..2e2d3b1 100644
--- a/SVUI_!Core/libs/AceVillain/sharedwidgets/prototypes.lua
+++ b/SVUI_!Core/libs/AceVillain/sharedwidgets/prototypes.lua
@@ -4,7 +4,7 @@ local ipairs        = _G.ipairs;
 local table      	= _G.table;
 local LibStub 		= _G.LibStub;

-local MAJOR, MINOR = "AceGUISharedMediaWidgets-1.0", 999999 --So stupid to leave the god damned version in the name string, but I digress
+local MAJOR, MINOR = "AceGUISharedMediaWidgets-1.0", 999999
 local AGSMW = LibStub:NewLibrary(MAJOR, MINOR, true)

 if not AGSMW then
@@ -63,6 +63,7 @@ do
 		frame:SetPoint("CENTER", UIParent, "CENTER")

 		local label = frame:CreateFontString(nil,"OVERLAY","GameFontNormalSmall")
+			label:SetWordWrap(false)
 			label:SetPoint("TOPLEFT",frame,"TOPLEFT",0,0)
 			label:SetPoint("TOPRIGHT",frame,"TOPRIGHT",0,0)
 			label:SetJustifyH("LEFT")
@@ -97,6 +98,7 @@ do
 		frame.DMiddle = DMiddle

 		local text = frame:CreateFontString(nil,"OVERLAY","GameFontHighlightSmall")
+			text:SetWordWrap(false)
 			text:SetPoint("RIGHT",DRight,"RIGHT",-43,1)
 			text:SetPoint("LEFT",DLeft,"LEFT",26,1)
 			text:SetJustifyH("RIGHT")
diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-DropDownGroup.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-DropDownGroup.lua
index 030083a..3986531 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-DropDownGroup.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-DropDownGroup.lua
@@ -2,7 +2,7 @@
 DropdownGroup Container
 Container controlled by a dropdown on the top.
 -------------------------------------------------------------------------------]]
-local Type, Version = "DropdownGroup", 21
+local Type, Version = "DropdownGroup", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Frame.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Frame.lua
index 60eb8a1..fc44f74 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Frame.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Frame.lua
@@ -1,7 +1,7 @@
 --[[-----------------------------------------------------------------------------
 Frame Container
 -------------------------------------------------------------------------------]]
-local Type, Version = "Frame", 24
+local Type, Version = "Frame", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-InlineGroup.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-InlineGroup.lua
index 3ca05e5..dadab82 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-InlineGroup.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-InlineGroup.lua
@@ -2,7 +2,7 @@
 InlineGroup Container
 Simple container widget that creates a visible "box" with an optional title.
 -------------------------------------------------------------------------------]]
-local Type, Version = "InlineGroup", 21
+local Type, Version = "InlineGroup", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TabGroup.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TabGroup.lua
index 2b7a14a..0abf99c 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TabGroup.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TabGroup.lua
@@ -2,7 +2,7 @@
 TabGroup Container
 Container that uses tabs on top to switch between groups.
 -------------------------------------------------------------------------------]]
-local Type, Version = "TabGroup", 35
+local Type, Version = "TabGroup", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TreeGroup.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TreeGroup.lua
index 02a201f..9e7667b 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TreeGroup.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-TreeGroup.lua
@@ -2,7 +2,7 @@
 TreeGroup Container
 Container that uses a tree control to switch between groups.
 -------------------------------------------------------------------------------]]
-local Type, Version = "TreeGroup", 36
+local Type, Version = "TreeGroup", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Window.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Window.lua
index 3e38234..ce04960 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Window.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIContainer-Window.lua
@@ -21,7 +21,7 @@ local CreateFrame, UIParent = CreateFrame, UIParent
 ]]
 do
 	local Type = "Window"
-	local Version = 4
+	local Version = 999999

 	local function frameOnClose(this)
 		this.obj:Fire("OnClose")
diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown-Items.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown-Items.lua
index fb86bce..efd29f8 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown-Items.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown-Items.lua
@@ -167,6 +167,7 @@ function ItemBase.Create(type)
 	text:SetJustifyH("LEFT")
 	text:SetPoint("TOPLEFT",frame,"TOPLEFT",18,0)
 	text:SetPoint("BOTTOMRIGHT",frame,"BOTTOMRIGHT",-8,0)
+	text:SetWordWrap(false)
 	self.text = text

 	local highlight = frame:CreateTexture(nil, "OVERLAY")
@@ -216,7 +217,7 @@ function ItemBase.Create(type)
 	return self
 end

-local MAJOR, MINOR = "AceGUI-3.0-DropDown-ItemBase", 999999
+local MAJOR, MINOR = "AceGUI-3.0-DropDown-ItemBase", 2
 local IBLib = LibStub:NewLibrary(MAJOR, MINOR, true)

 if IBLib then
diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown.lua
index e16d0f6..6c5e384 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-DropDown.lua
@@ -39,7 +39,7 @@ end

 do
 	local widgetType = "Dropdown-Pullout"
-	local widgetVersion = 3
+	local widgetVersion = 999999

 	--[[ Static data ]]--

@@ -356,7 +356,7 @@ end

 do
 	local widgetType = "Dropdown"
-	local widgetVersion = 29
+	local widgetVersion = 999999

 	--[[ Static data ]]--

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Heading.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Heading.lua
index ed6cb8f..8a031e0 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Heading.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Heading.lua
@@ -1,7 +1,7 @@
 --[[-----------------------------------------------------------------------------
 Heading Widget
 -------------------------------------------------------------------------------]]
-local Type, Version = "Heading", 20
+local Type, Version = "Heading", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-MultiLineEditBox.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-MultiLineEditBox.lua
index 5f35021..e81cef8 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-MultiLineEditBox.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-MultiLineEditBox.lua
@@ -1,4 +1,4 @@
-local Type, Version = "MultiLineEditBox", 27
+local Type, Version = "MultiLineEditBox", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Slider.lua b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Slider.lua
index 78c4e6e..09aed1e 100644
--- a/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Slider.lua
+++ b/SVUI_!Core/libs/AceVillain/widgets/AceGUIWidget-Slider.lua
@@ -2,7 +2,7 @@
 Slider Widget
 Graphical Slider, like, for Range values.
 -------------------------------------------------------------------------------]]
-local Type, Version = "Slider", 21
+local Type, Version = "Slider", 999999
 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end

diff --git a/SVUI_!Core/libs/_Librarian/Librarian.lua b/SVUI_!Core/libs/_Librarian/Librarian.lua
index 18a9240..d63d3a6 100644
--- a/SVUI_!Core/libs/_Librarian/Librarian.lua
+++ b/SVUI_!Core/libs/_Librarian/Librarian.lua
@@ -43,7 +43,7 @@ local GetScreenWidth = _G.GetScreenWidth;
 local GetScreenHeight = _G.GetScreenHeight;
 local IsAltKeyDown = _G.IsAltKeyDown;

-local MAX_MINOR     = 999999;
+local MAX_MINOR     = 999999999;
 local Librarian     = _G.Librarian;

 if not Librarian then
@@ -91,15 +91,13 @@ local LibStubNew = function(self, major, minor, replace)
     minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")

     local oldminor = self.minors[major]
-    if(not replace) then
-        if(oldminor and oldminor >= minor) then return nil end
-        --print('Keeping ' .. major)
-        self.libs[major] = self.libs[major] or {}
-    else
-        --print('Replaced ' .. major)
-        self.libs[major] = {}
+    if(replace) then
+        minor = MAX_MINOR
     end
+    if(oldminor and oldminor >= minor) then return nil end
+    self.libs[major] = self.libs[major] or {}
     self.minors[major] = minor
+    --print('Returning: '..major..' v.'..minor)
     return self.libs[major], oldminor
 end