diff --git a/External/Plugins/AirProperties/Managers/PropertyManager.cs b/External/Plugins/AirProperties/Managers/PropertyManager.cs
index a90a0c5955..550ce0751e 100644
--- a/External/Plugins/AirProperties/Managers/PropertyManager.cs
+++ b/External/Plugins/AirProperties/Managers/PropertyManager.cs
@@ -20,7 +20,7 @@ class PropertyManager
private static AirVersion _version;
private static Boolean _unsupportedVersion;
private const String _BaseAirNamespace = "http://ns.adobe.com/air/application/";
- private const String _MaxSupportedVersion = "4.0";
+ private const String _MaxSupportedVersion = "13.0";
public enum AirVersion
{
@@ -42,7 +42,8 @@ public enum AirVersion
V37 = 16, // Version 3.7
V38 = 17, // Version 3.8
V39 = 18, // Version 3.9
- V40 = 19 // Version 4.0
+ V40 = 19, // Version 4.0
+ V130 = 20 // Version 13.0
}
public static Exception LastException
@@ -115,11 +116,12 @@ public static Boolean InitializeProperties(string filePath)
else if (nsuri.StartsWith(_BaseAirNamespace + "3.8")) _version = AirVersion.V38;
else if (nsuri.StartsWith(_BaseAirNamespace + "3.9")) _version = AirVersion.V39;
else if (nsuri.StartsWith(_BaseAirNamespace + "4.0")) _version = AirVersion.V40;
+ else if (nsuri.StartsWith(_BaseAirNamespace + "13.0")) _version = AirVersion.V130;
else
{
// Is a valid AIR descriptor, but version not supported so default to max supported version
_unsupportedVersion = true;
- _version = AirVersion.V40;
+ _version = AirVersion.V130;
}
}
_namespaceManager = new XmlNamespaceManager(_descriptorFile.NameTable);
diff --git a/External/Tools/AppMan/MainForm.cs b/External/Tools/AppMan/MainForm.cs
index eb1b9d6cea..6a0ea24035 100644
--- a/External/Tools/AppMan/MainForm.cs
+++ b/External/Tools/AppMan/MainForm.cs
@@ -396,7 +396,18 @@ private void DeleteButtonClick(Object sender, EventArgs e)
this.RunExecutableProcess(tempFile);
}
#endif
- Directory.Delete(Path.Combine(PathHelper.APPS_DIR, entry.Id), true);
+ String folder = Path.Combine(PathHelper.APPS_DIR, entry.Id);
+ // Sometimes we might get "dir not empty" error, try 10 times...
+ for (Int32 attempts = 0; attempts < 10; attempts++)
+ {
+ try
+ {
+ if (Directory.Exists(folder)) Directory.Delete(folder, true);
+ return;
+ }
+ catch (IOException) { Thread.Sleep(50); }
+ }
+ throw new Exception("Could not delete the directory:\n" + folder);
}
}
}
diff --git a/External/Tools/AppMan/Utilities/ZipHelper.cs b/External/Tools/AppMan/Utilities/ZipHelper.cs
index 8d9777632f..358b2a52ec 100644
--- a/External/Tools/AppMan/Utilities/ZipHelper.cs
+++ b/External/Tools/AppMan/Utilities/ZipHelper.cs
@@ -3,6 +3,9 @@
using System.Text;
using System.Collections.Generic;
using ICSharpCode.SharpZipLib.Zip;
+using System.Runtime.InteropServices;
+using Microsoft.Win32.SafeHandles;
+using System.Globalization;
namespace AppMan.Utilities
{
@@ -32,7 +35,12 @@ public static void ExtractZip(String file, String path)
{
Directory.CreateDirectory(dirPath);
}
- FileStream extracted = new FileStream(entry.Name, FileMode.Create);
+ String fullPath = Path.Combine(path, entry.Name);
+ #if WIN32
+ FileStream extracted = LongPathFileOpen(fullPath);
+ #else
+ FileStream extracted = File.Open(fullPath, FileMode.Create, FileAccess.Write);
+ #endif
while (true)
{
size = zis.Read(data, 0, data.Length);
@@ -56,6 +64,57 @@ public static void ExtractZip(String file, String path)
Environment.CurrentDirectory = curDir;
}
+ #region LongPath
+
+ // See: http://bcl.codeplex.com/wikipage?title=Long%20Path&referringTitle=Home
+
+ #if WIN32
+
+ private const string LongPathPrefix = @"\\?\";
+
+ [Flags]
+ internal enum EFileAccess : uint
+ {
+ GenericRead = 0x80000000,
+ GenericWrite = 0x40000000,
+ GenericExecute = 0x20000000,
+ GenericAll = 0x10000000,
+ }
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
+ internal static extern uint GetFullPathName(string lpFileName, uint nBufferLength, StringBuilder lpBuffer, IntPtr mustBeNull);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
+ internal static extern SafeFileHandle CreateFile(string lpFileName, EFileAccess dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, IntPtr hTemplateFile);
+
+ public static FileStream LongPathFileOpen(string path)
+ {
+ string normalizedPath = NormalizeLongPath(path);
+ SafeFileHandle handle = CreateFile(normalizedPath, EFileAccess.GenericWrite, (uint)FileShare.None, IntPtr.Zero, (uint)FileMode.Create, (uint)FileOptions.None, IntPtr.Zero);
+ if (handle.IsInvalid) throw new Exception("Error while resolving path.");
+ return new FileStream(handle, FileAccess.Write, 1024, false);
+ }
+
+ internal static string NormalizeLongPath(string path)
+ {
+ StringBuilder buffer = new StringBuilder(path.Length + 1);
+ uint length = GetFullPathName(path, (uint)buffer.Capacity, buffer, IntPtr.Zero);
+ if (length > buffer.Capacity)
+ {
+ buffer.Capacity = (int)length;
+ length = GetFullPathName(path, length, buffer, IntPtr.Zero);
+ }
+ if (length == 0 || length > 32000)
+ {
+ throw new Exception("Error while resolving path.");
+ }
+ return LongPathPrefix + buffer.ToString();
+ }
+
+ #endif
+
+ #endregion
+
}
}
diff --git a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj
index 75a5995aed..c35b3cc103 100644
--- a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj
+++ b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj
@@ -8,7 +8,7 @@
-
+
diff --git a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template
index a1d9b2775d..b4d65c0da3 100644
--- a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template
+++ b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template
@@ -1,5 +1,5 @@
-
+
$(PACKAGEDOT)$(PROJECTID)
1.0
diff --git a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj
index 51c9dadba1..489ac6afdc 100644
--- a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj
+++ b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj
@@ -8,7 +8,7 @@
-
+
diff --git a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template
index 627b6e0ea7..ebfda29f13 100644
--- a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template
+++ b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template
@@ -1,5 +1,5 @@
-
+
$(PACKAGEDOT)$(PROJECTID)
1.0
diff --git a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj
index bdbb1ca43d..b2705e8a8d 100644
--- a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj
+++ b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj
@@ -8,7 +8,7 @@
-
+
diff --git a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template
index 54e81919fe..b9f2cf66b3 100644
--- a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template
+++ b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template
@@ -1,5 +1,5 @@
-
+
air.$(PACKAGEDOT)$(PROJECTID)
0.1
diff --git a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj
index 7293bc0f82..f952c8a799 100644
--- a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj
+++ b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj
@@ -8,7 +8,7 @@
-
+
diff --git a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template
index 0200ba5afb..ec198ee311 100644
--- a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template
+++ b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template
@@ -1,5 +1,5 @@
-
+
air.$(PACKAGEDOT)$(PROJECTID)
0.1
diff --git a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj
index 7799882f3e..22b331ef0c 100644
--- a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj
+++ b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj
@@ -8,7 +8,7 @@
-
+
diff --git a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template
index a1d9b2775d..b4d65c0da3 100644
--- a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template
+++ b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template
@@ -1,5 +1,5 @@
-
+
$(PACKAGEDOT)$(PROJECTID)
1.0
diff --git a/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe b/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe
index fc67c8c3a3..1fb3ea58b3 100644
Binary files a/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe and b/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe differ
diff --git a/FlashDevelop/Bin/Debug/Tools/flexlibs/frameworks/libs/player/13.0/playerglobal.swc b/FlashDevelop/Bin/Debug/Tools/flexlibs/frameworks/libs/player/13.0/playerglobal.swc
new file mode 100644
index 0000000000..7624ad6377
Binary files /dev/null and b/FlashDevelop/Bin/Debug/Tools/flexlibs/frameworks/libs/player/13.0/playerglobal.swc differ
diff --git a/FlashDevelop/Installer/Installer.nsi b/FlashDevelop/Installer/Installer.nsi
index 5739868056..e241ea8c17 100644
--- a/FlashDevelop/Installer/Installer.nsi
+++ b/FlashDevelop/Installer/Installer.nsi
@@ -9,12 +9,12 @@
;--------------------------------
; Define version info
-!define VERSION "4.6.1"
+!define VERSION "4.6.2"
; Installer details
VIAddVersionKey "CompanyName" "FlashDevelop.org"
VIAddVersionKey "ProductName" "FlashDevelop Installer"
-VIAddVersionKey "LegalCopyright" "FlashDevelop.org 2005-2013"
+VIAddVersionKey "LegalCopyright" "FlashDevelop.org 2005-2014"
VIAddVersionKey "FileDescription" "FlashDevelop Installer"
VIAddVersionKey "ProductVersion" "${VERSION}.0"
VIAddVersionKey "FileVersion" "${VERSION}.0"
diff --git a/FlashDevelop/Properties/AssemblyInfo.cs.rev b/FlashDevelop/Properties/AssemblyInfo.cs.rev
index 93b3b6a312..005ce5ab4c 100644
--- a/FlashDevelop/Properties/AssemblyInfo.cs.rev
+++ b/FlashDevelop/Properties/AssemblyInfo.cs.rev
@@ -10,8 +10,8 @@ using System.Resources;
//
[assembly: AssemblyTitle("FlashDevelop 4")]
[assembly: AssemblyDescription("FlashDevelop is an open source script editor.")]
-[assembly: AssemblyProduct("FlashDevelop 4.6.1$BUILD$ for .NET 2.0 ($BRANCH$#$COMMIT$)")]
-[assembly: AssemblyCopyright("FlashDevelop.org 2005-2013")]
+[assembly: AssemblyProduct("FlashDevelop 4.6.2$BUILD$ for .NET 2.0 ($BRANCH$#$COMMIT$)")]
+[assembly: AssemblyCopyright("FlashDevelop.org 2005-2014")]
[assembly: AssemblyCompany("FlashDevelop.org")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyTrademark("")]
diff --git a/PluginCore/PluginCore/PlatformData.cs b/PluginCore/PluginCore/PlatformData.cs
index 33a5a651bb..772c19aa95 100644
--- a/PluginCore/PluginCore/PlatformData.cs
+++ b/PluginCore/PluginCore/PlatformData.cs
@@ -9,13 +9,13 @@ namespace PluginCore
public class PlatformData
{
public static String DEFAULT_NME_VERSION = "3.0";
- public static String DEFAULT_AIR_VERSION = "4.0";
- public static String DEFAULT_AIR_MOBILE_VERSION = "4.0";
- public static String DEFAULT_FLASH_VERSION = "12.0";
- public static String[] AIR_VERSIONS = new String[] { "1.5", "2.0", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0" };
- public static String[] AIR_MOBILE_VERSIONS = new String[] { "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0" };
- public static String[] FLASH_VERSIONS = new String[] { "9.0", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "11.5", "11.6", "11.7", "11.8", "11.9", "12.0" };
- public static String[] SWF_VERSIONS = new String[] { "9", "10", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" };
+ public static String DEFAULT_AIR_VERSION = "13.0";
+ public static String DEFAULT_AIR_MOBILE_VERSION = "13.0";
+ public static String DEFAULT_FLASH_VERSION = "13.0";
+ public static String[] AIR_VERSIONS = new String[] { "1.5", "2.0", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0", "13.0" };
+ public static String[] AIR_MOBILE_VERSIONS = new String[] { "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0", "13.0" };
+ public static String[] FLASH_VERSIONS = new String[] { "9.0", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "11.5", "11.6", "11.7", "11.8", "11.9", "12.0", "13.0" };
+ public static String[] SWF_VERSIONS = new String[] { "9", "10", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24" };
public static String[] NME_TARGETS = new String[] { "flash", "html5", "windows", "neko", "android", "webos", "blackberry" };
public static String[] NME_VERSIONS = new String[] { "3.0" };
@@ -54,7 +54,8 @@ public static void GuessFlashPlayerForAIR(ref Int32 majorVersion, ref Int32 mino
else if (v < 3.8) { majorVersion = 11; minorVersion = 7; }
else if (v < 3.9) { majorVersion = 11; minorVersion = 8; }
else if (v < 4.0) { majorVersion = 11; minorVersion = 9; }
- else { majorVersion = 12; minorVersion = 0; }
+ else if (v < 13.0) { majorVersion = 12; minorVersion = 0; }
+ else { majorVersion = 13; minorVersion = 0; }
}
}
diff --git a/appman.xml b/appman.xml
index f806130e29..e5a338e391 100644
--- a/appman.xml
+++ b/appman.xml
@@ -10,72 +10,72 @@
http://www.adobe.com/devnet/flex.html
http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip
- http://www.flashdevelop.org/appman/frameworks_flexsdk.zip
+ http://www.flashdevelop.org/appman/frameworks_flexsdk_9-13.zip
flexairsdk
Flex + AIR SDK
- 4.6.0+4.0.0
- 23201B+1628
+ 4.6.0+13.0.0
+ 23201B+83
Adobe Flex SDK merged with Adobe AIR SDK
http://www.adobe.com/devnet/air.html
AS3
http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip
- http://airdownload.adobe.com/air/win/download/4.0/AdobeAIRSDK.zip
- http://www.flashdevelop.org/appman/frameworks_flexsdk.zip
+ http://airdownload.adobe.com/air/win/download/13.0/AdobeAIRSDK.zip
+ http://www.flashdevelop.org/appman/frameworks_flexsdk_9-13.zip
ascsdk
AIR SDK + ASC 2.0
- 4.0.0
- 1628
+ 13.0.0
+ 83
Adobe AIR SDK with ASC 2.0
http://www.adobe.com/devnet/air.html
AS3
- http://airdownload.adobe.com/air/win/download/4.0/AIRSDK_Compiler.zip
- http://www.flashdevelop.org/appman/frameworks_flexsdk.zip
+ http://airdownload.adobe.com/air/win/download/13.0/AIRSDK_Compiler.zip
+ http://www.flashdevelop.org/appman/frameworks_flexsdk_9-13.zip
flashsa
Flash Player (SA)
- 12.0
- 0.77
+ 13.0.0
+ 182
Standalone debug Flash Player
AS3
http://www.adobe.com/support/flashplayer/downloads.html
- http://download.macromedia.com/pub/flashplayer/updaters/12/flashplayer_12_sa_debug.exe
+ http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_sa_debug.exe
flashns
Flash Player (NS)
- 12.0
- 0.77
+ 13.0.0
+ 182
Debug Flash Player plugin for Netscape browsers
AS3
Executable
http://www.adobe.com/support/flashplayer/downloads.html
- http://download.macromedia.com/pub/flashplayer/updaters/12/flashplayer_12_plugin_debug.exe
+ http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_plugin_debug.exe
flashie
Flash Player (AX)
- 12.0
- 0.77
+ 13.0.0
+ 182
Debug Flash Player plugin for Interner Explorer
AS3
Executable
http://www.adobe.com/support/flashplayer/downloads.html
- http://download.macromedia.com/pub/flashplayer/updaters/12/flashplayer_12_ax_debug.exe
+ http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_ax_debug.exe
@@ -94,14 +94,14 @@
airrt
Adobe AIR
- 4.0.0
- 1390
+ 13.0.0
+ 83
Adobe AIR for AIR applications installer
AS3
Executable
http://www.adobe.com/products/air.html
- http://airdownload.adobe.com/air/win/download/4.0/AdobeAIRInstaller.exe
+ http://airdownload.adobe.com/air/win/download/13.0/AdobeAIRInstaller.exe