<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -155,7 +155,7 @@ end
 ---------------------------------------------------------------------------]]
 
 local major = &quot;Dongle-1.0&quot;
-local minor = tonumber(string.match(&quot;$Revision: 612 $&quot;, &quot;(%d+)&quot;) or 1) + 500
+local minor = tonumber(string.match(&quot;$Revision: 646 $&quot;, &quot;(%d+)&quot;) or 1) + 500
 -- ** IMPORTANT NOTE **
 -- Due to some issues we had previously with Dongle revision numbers
 -- we need to artificially inflate the minor revision number, to ensure
@@ -884,17 +884,30 @@ function Dongle.SetProfile(db, name)
 	Dongle:TriggerMessage(&quot;DONGLE_PROFILE_CHANGED&quot;, db, db.parent, db.sv_name, db.keys.profile)
 end
 
-function Dongle.GetProfiles(db, t)
+function Dongle.GetProfiles(db, tbl)
 	assert(3, databases[db], string.format(L[&quot;MUST_CALLFROM_DBOBJECT&quot;], &quot;GetProfiles&quot;))
 	argcheck(t, 2, &quot;table&quot;, &quot;nil&quot;)
 
-	t = t or {}
-	local i = 1
-	for profileKey in pairs(db.sv.profiles) do
-		t[i] = profileKey
+	-- Clear the container table
+	if tbl then
+		for k,v in pairs(tbl) do tbl[k] = nil end
+	else
+		tbl = {}
+	end
+
+	local i = 0
+	for profileKey in pairs(db.profiles) do
+		i = i + 1
+		tbl[i] = profileKey
+	end
+
+	-- Add the current profile, if it hasn't been created yet
+	if rawget(db, &quot;profile&quot;) == nil then
 		i = i + 1
+		tbl[i] = db.keys.profile
 	end
-	return t, i - 1
+	
+	return tbl, i
 end
 
 function Dongle.GetCurrentProfile(db)
@@ -966,8 +979,8 @@ end
 
 function Dongle.RegisterNamespace(db, name, defaults)
 	assert(3, databases[db], string.format(L[&quot;MUST_CALLFROM_DBOBJECT&quot;], &quot;RegisterNamespace&quot;))
-		argcheck(name, 2, &quot;string&quot;)
-	argcheck(defaults, 3, &quot;nil&quot;, &quot;string&quot;)
+	argcheck(name, 2, &quot;string&quot;)
+	argcheck(defaults, 3, &quot;nil&quot;, &quot;table&quot;)
 
 	local sv = db.sv
 	if not sv.namespaces then sv.namespaces = {} end
@@ -1147,44 +1160,41 @@ local function PLAYER_LOGOUT(event)
 	end
 end
 
-local function PLAYER_LOGIN()
-	Dongle.initialized = true
-	for i=1, #loadorder do
-		local obj = loadorder[i]
-		if type(obj.Enable) == &quot;function&quot; then
-			safecall(obj.Enable, obj)
+local PLAYER_LOGIN
+do
+	local lockPlayerLogin = false
+
+	function PLAYER_LOGIN()
+		if lockPlayerLogin then return end
+		
+		lockPlayerLogin = true
+		
+		local obj = table.remove(loadorder, 1)
+		while obj do
+			if type(obj.Enable) == &quot;function&quot; then
+				safecall(obj.Enable, obj)
+			end
+			obj = table.remove(loadorder, 1)
 		end
-		loadorder[i] = nil
+		
+		lockPlayerLogin = false
 	end
 end
 
 local function ADDON_LOADED(event, ...)
-	for i=1, #loadqueue do
-		local obj = loadqueue[i]
+	local obj = table.remove(loadqueue, 1)
+	while obj do
 		table.insert(loadorder, obj)
-
+		
 		if type(obj.Initialize) == &quot;function&quot; then
 			safecall(obj.Initialize, obj)
 		end
-		loadqueue[i] = nil
-	end
 
-	if not Dongle.initialized then
-		if type(IsLoggedIn) == &quot;function&quot; then
-			Dongle.initialized = IsLoggedIn()
-		else
-			Dongle.initialized = ChatFrame1.defaultLanguage
-		end
+		obj = table.remove(loadqueue, 1)
 	end
 
-	if Dongle.initialized then
-		for i=1, #loadorder do
-			local obj = loadorder[i]
-			if type(obj.Enable) == &quot;function&quot; then
-				safecall(obj.Enable, obj)
-			end
-			loadorder[i] = nil
-		end
+	if IsLoggedIn() then
+		PLAYER_LOGIN()
 	end
 end
 </diff>
      <filename>Dongle.lua</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,15 @@
 
-local lib, oldminor = LibStub:NewLibrary(&quot;tekKonfig-AboutPanel&quot;, 1)
+local lib, oldminor = LibStub:NewLibrary(&quot;tekKonfig-AboutPanel&quot;, 4)
 if not lib then return end
 
 
 function lib.new(parent, addonname)
 	local frame = CreateFrame(&quot;Frame&quot;, nil, UIParent)
-	frame.name, frame.parent, frame.addonname = &quot;About&quot;, parent, addonname
+	frame.name, frame.parent, frame.addonname = parent and &quot;About&quot; or addonname, parent, addonname
 	frame:Hide()
 	frame:SetScript(&quot;OnShow&quot;, lib.OnShow)
 	InterfaceOptions_AddCategory(frame)
+	return frame
 end
 
 
@@ -69,7 +70,7 @@ function lib.OnShow(frame)
 
 	local title = frame:CreateFontString(nil, &quot;ARTWORK&quot;, &quot;GameFontNormalLarge&quot;)
 	title:SetPoint(&quot;TOPLEFT&quot;, 16, -16)
-	title:SetText(frame.parent..&quot; - About&quot;)
+	title:SetText((frame.parent or frame.addonname)..&quot; - About&quot;)
 
 	local subtitle = frame:CreateFontString(nil, &quot;ARTWORK&quot;, &quot;GameFontHighlightSmall&quot;)
 	subtitle:SetHeight(32)
@@ -110,23 +111,5 @@ function lib.OnShow(frame)
 		end
 	end
 
-	frame:SetScript(&quot;OnShow&quot;, lib.FadeIn)
-	lib.FadeIn(frame)
-end
-
-
-local elapsed = 0
-local starttimes, endtimes = {}, {}
-local function OnUpdate(frame, elap)
-	elapsed = elapsed + elap
-	if elapsed &gt; 0.5 then
-		frame:SetScript(&quot;OnUpdate&quot;, nil)
-		frame:SetAlpha(1)
-	else frame:SetAlpha(elapsed/0.5) end
-end
-
-function lib.FadeIn(frame)
-	elapsed = 0
-	frame:SetAlpha(0)
-	frame:SetScript(&quot;OnUpdate&quot;, OnUpdate)
+	frame:SetScript(&quot;OnShow&quot;, nil)
 end</diff>
      <filename>tekKonfig/tekKonfigAboutPanel.lua</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4f65173906fbb40789fccfde9036d82172fd64b5</id>
    </parent>
  </parents>
  <author>
    <name>Tekkub</name>
    <email>tekkub@gmail.com</email>
  </author>
  <url>http://github.com/tekkub/mountme/commit/6f3c42b76816e26bdfc58abaa188e25db36e2494</url>
  <id>6f3c42b76816e26bdfc58abaa188e25db36e2494</id>
  <committed-date>2008-08-23T11:39:42-07:00</committed-date>
  <authored-date>2008-08-23T11:39:42-07:00</authored-date>
  <message>Embeds update</message>
  <tree>d10cccd9779c41e9824f4bd7701e55199ec5e749</tree>
  <committer>
    <name>Tekkub</name>
    <email>tekkub@gmail.com</email>
  </committer>
</commit>
