diff --git a/PowerEditor/installer/nppSetup.nsi b/PowerEditor/installer/nppSetup.nsi index c3089d2cc..5f12efa61 100644 --- a/PowerEditor/installer/nppSetup.nsi +++ b/PowerEditor/installer/nppSetup.nsi @@ -111,6 +111,7 @@ InstType "Minimalist" Var diffArchDir2Remove Var noUpdater + !ifdef ARCH64 || ARCHARM64 ; this is needed for the 64-bit InstallDirRegKey patch !include "StrFunc.nsh" @@ -126,7 +127,7 @@ Function .onInit ; so the InstallDirRegKey checks for the irrelevant HKLM\SOFTWARE\WOW6432Node\Notepad++, explanation: ; https://nsis.sourceforge.io/Reference/SetRegView ; -!ifdef ARCH64 || ARCHARM64 +!ifdef ARCH64 || ARCHARM64 ${If} ${RunningX64} System::Call kernel32::GetCommandLine()t.r0 ; get the original cmdline (where a possible "/D=..." is not hidden from us by NSIS) ${StrStr} $1 $0 "/D=" @@ -265,55 +266,54 @@ FunctionEnd ${Using:StrFunc} StrStr Var muiVerbStr -Var nppSubStrRes -Var editWithNppLocalStr +Var nppSubStr ${MementoSection} "Context Menu Entry" explorerContextMenu ${If} $WinVer == "11" + + ; Clean up the hack of v8.5 installer ReadRegStr $muiVerbStr HKLM "SOFTWARE\Classes\*\shell\pintohome" MUIVerb - - ${StrStr} $nppSubStrRes $muiVerbStr "Notepad++" - ;MessageBox MB_OK "entry value: $muiVerbStr" - ;MessageBox MB_OK "result: $nppSubStrRes" - - ; Make sure there's no entry before creating it, so we won't override other application if present - ${If} $muiVerbStr == "" - ${OrIf} $nppSubStrRes != "" ; it contains "Notepad++" - - ReadINIStr $editWithNppLocalStr "$PLUGINSDIR\nppLocalization\explorerContextMenuEntryLocal.ini" $(langFileName) "Edit_with_Notepad++" - ${If} $editWithNppLocalStr == "" - StrCpy $editWithNppLocalStr "Edit with Notepad++" - MessageBox MB_OK "translation: $editWithNppLocalStr" - ${EndIf} - - WriteRegStr HKLM "SOFTWARE\Classes\*\shell\pintohome" 'MUIVerb' $editWithNppLocalStr - WriteRegStr HKLM "SOFTWARE\Classes\*\shell\pintohome\command" "" '"$INSTDIR\notepad++.exe" "%1"' - + ${StrStr} $nppSubStr $muiVerbStr "Notepad++" + ; Make sure there's an entry, and the entry belong to Notepad++ before deleting it + ${If} $muiVerbStr != "" + ${AndIf} $nppSubStr != "" ; it contains "Notepad++" + DeleteRegKey HKLM "SOFTWARE\Classes\*\shell\pintohome" ${EndIf} + + ; Install the new Windows 11 "Edit with Notepad++" menu entry + !ifdef ARCHARM64 + File /oname=$INSTDIR\NppModernShell.msix "..\binarm64\NppModernShell.msix" + File /oname=$INSTDIR\NppModernShell.dll "..\binarm64\NppModernShell.dll" + !else ; !ifdef ARCH64 + File /oname=$INSTDIR\NppModernShell.msix "..\bin64\NppModernShell.msix" + File /oname=$INSTDIR\NppModernShell.dll "..\bin64\NppModernShell.dll" + !endif + Exec 'rundll32.exe"$INSTDIR\NppModernShell.dll,RegisterSparsePackage"' + + ${Else} ; the old "Edit with Notepad++" menu entry still works under Windows 10 and previous OS + + SetOverwrite try + SetOutPath "$INSTDIR\" + + ; There is no need to keep x86 NppShell_06.dll in 64 bit installer + ; But in 32bit installer both the Dlls are required + ; As user can install 32bit npp version on x64 bit machine, that time x64 bit NppShell is required. + + !ifdef ARCH64 + File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" + !else ifdef ARCHARM64 + File /oname=$INSTDIR\NppShell_06.dll "..\binarm64\NppShell64.dll" + !else + ${If} ${RunningX64} + File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" + ${Else} + File "..\bin\NppShell_06.dll" + ${EndIf} + !endif + Exec 'regsvr32 /s "$INSTDIR\NppShell_06.dll"' ${EndIf} - - SetOverwrite try - SetOutPath "$INSTDIR\" - - ; There is no need to keep x86 NppShell_06.dll in 64 bit installer - ; But in 32bit installer both the Dlls are required - ; As user can install 32bit npp version on x64 bit machine, that time x64 bit NppShell is required. - - !ifdef ARCH64 - File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" - !else ifdef ARCHARM64 - File /oname=$INSTDIR\NppShell_06.dll "..\binarm64\NppShell64.dll" - !else - ${If} ${RunningX64} - File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" - ${Else} - File "..\bin\NppShell_06.dll" - ${EndIf} - !endif - Exec 'regsvr32 /s "$INSTDIR\NppShell_06.dll"' - ${MementoSectionEnd} diff --git a/PowerEditor/installer/nsisInclude/functionList.nsh b/PowerEditor/installer/nsisInclude/functionList.nsh index 6502ccc9f..5c32f90ea 100644 --- a/PowerEditor/installer/nsisInclude/functionList.nsh +++ b/PowerEditor/installer/nsisInclude/functionList.nsh @@ -183,17 +183,17 @@ SectionGroup "Function List Files" functionListComponent File ".\functionList\typescript.xml" ${MementoSectionEnd} - ${MementoSection} "Pascal" Pascal + ${MementoSection} "Pascal" Pascal_FL SetOutPath "$INSTDIR\functionList" File ".\functionList\pascal.xml" ${MementoSectionEnd} - - ${MementoSection} "GDScript" GDScript + + ${MementoSection} "GDScript" GDScript_FL SetOutPath "$INSTDIR\functionList" File ".\functionList\gdscript.xml" ${MementoSectionEnd} - ${MementoSection} "NppExecScript" NppExecScript + ${MementoSection} "NppExecScript" NppExecScript_FL SetOutPath "$INSTDIR\functionList" File ".\functionList\nppexec.xml" ${MementoSectionEnd} @@ -344,15 +344,15 @@ SectionGroup un.functionListComponent Delete "$INSTDIR\functionList\typescript.xml" SectionEnd - Section un.Pascal + Section un.Pascal_FL Delete "$INSTDIR\functionList\pascal.xml" SectionEnd - Section un.GDScript + Section un.GDScript_FL Delete "$INSTDIR\functionList\gdscript.xml" SectionEnd - Section un.NppExecScript + Section un.NppExecScript_FL Delete "$INSTDIR\functionList\nppexec.xml" SectionEnd diff --git a/PowerEditor/installer/packageAll.bat b/PowerEditor/installer/packageAll.bat index 447bf27df..ebd6c0efa 100644 --- a/PowerEditor/installer/packageAll.bat +++ b/PowerEditor/installer/packageAll.bat @@ -19,60 +19,76 @@ echo on if %SIGN% == 0 goto NoSign -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\notepad++.exe +set signtoolWin11="C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" +set signtoolWin10="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" + +set signBinary=%signtoolWin11% sign /fd SHA256 /tr http://timestamp.digicert.com /td sha256 /a /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ + +set signArmBinary=%signtoolWin10% sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ + +%signBinary% ..\bin\notepad++.exe If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\notepad++.exe +%signBinary% ..\bin64\notepad++.exe If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\notepad++.exe +%signArmBinary% ..\binarm64\notepad++.exe If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\NppShell_06.dll +%signBinary% ..\bin\NppShell_06.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\NppShell64_06.dll +%signBinary% ..\bin\NppShell64_06.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\NppShell64.dll +%signArmBinary% ..\binarm64\NppShell64.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\Config\nppPluginList.dll +%signBinary% ..\bin64\NppModernShell.msix If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\Config\nppPluginList.dll +%signBinary% ..\bin64\NppModernShell.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\Config\nppPluginList.dll +%signBinary% ..\binarm64\NppModernShell.msix +If ErrorLevel 1 goto End +%signArmBinary% ..\binarm64\NppModernShell.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\updater\GUP.exe +%signBinary% ..\bin\plugins\Config\nppPluginList.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\updater\GUP.exe +%signBinary% ..\bin64\plugins\Config\nppPluginList.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\updater\GUP.exe +%signArmBinary% ..\binarm64\plugins\Config\nppPluginList.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\updater\libcurl.dll +%signBinary% ..\bin\updater\GUP.exe If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\updater\libcurl.dll +%signBinary% ..\bin64\updater\GUP.exe If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\updater\libcurl.dll +%signArmBinary% ..\binarm64\updater\GUP.exe If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\NppExport\NppExport.dll +%signBinary% ..\bin\updater\libcurl.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\NppExport\NppExport.dll +%signBinary% ..\bin64\updater\libcurl.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\NppExport\NppExport.dll +%signArmBinary% ..\binarm64\updater\libcurl.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\mimeTools\mimeTools.dll +%signBinary% ..\bin\plugins\NppExport\NppExport.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\mimeTools\mimeTools.dll +%signBinary% ..\bin64\plugins\NppExport\NppExport.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\mimeTools\mimeTools.dll +%signArmBinary% ..\binarm64\plugins\NppExport\NppExport.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\NppConverter\NppConverter.dll +%signBinary% ..\bin\plugins\mimeTools\mimeTools.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\NppConverter\NppConverter.dll +%signBinary% ..\bin64\plugins\mimeTools\mimeTools.dll If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\NppConverter\NppConverter.dll +%signArmBinary% ..\binarm64\plugins\mimeTools\mimeTools.dll +If ErrorLevel 1 goto End + +%signBinary% ..\bin\plugins\NppConverter\NppConverter.dll +If ErrorLevel 1 goto End +%signBinary% ..\bin64\plugins\NppConverter\NppConverter.dll +If ErrorLevel 1 goto End +%signArmBinary% ..\binarm64\plugins\NppConverter\NppConverter.dll If ErrorLevel 1 goto End :NoSign @@ -532,11 +548,11 @@ ren npp.portable.minimalist.x64.7z !7zvarMin64! ren npp.portable.minimalist.arm64.7z !7zvarMinArm64! if %SIGN% == 0 goto NoSignInstaller -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++ Installer" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ !nppInstallerVar! +%signBinary% !nppInstallerVar! If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++ Installer" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ !nppInstallerVar64! +%signBinary% !nppInstallerVar64! If ErrorLevel 1 goto End -signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++ Installer" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ !nppInstallerVarArm64! +%signArmBinary% !nppInstallerVarArm64! If ErrorLevel 1 goto End :NoSignInstaller diff --git a/PowerEditor/src/notepad++.exe.manifest b/PowerEditor/src/notepad++.exe.manifest index 8dca871b4..47a78fbc5 100644 --- a/PowerEditor/src/notepad++.exe.manifest +++ b/PowerEditor/src/notepad++.exe.manifest @@ -8,7 +8,7 @@ type="win32" /> diff --git a/PowerEditor/src/tools/NppModernShell/NppModernShell.vcxproj b/PowerEditor/src/tools/NppModernShell/NppModernShell.vcxproj index 02e86dfdf..a6074a377 100644 --- a/PowerEditor/src/tools/NppModernShell/NppModernShell.vcxproj +++ b/PowerEditor/src/tools/NppModernShell/NppModernShell.vcxproj @@ -89,6 +89,9 @@ shlwapi.lib;runtimeobject.lib;%(AdditionalDependencies) source.def + + makeappx pack /d .\Packaging /p $(OutDir)NppModernShell.msix /nv + @@ -109,6 +112,9 @@ shlwapi.lib;runtimeobject.lib;%(AdditionalDependencies) source.def + + makeappx pack /d .\Packaging /p $(OutDir)NppModernShell.msix /nv + @@ -133,6 +139,9 @@ shlwapi.lib;runtimeobject.lib;%(AdditionalDependencies) source.def + + makeappx pack /d .\Packaging /p $(OutDir)NppModernShell.msix /nv + @@ -157,6 +166,9 @@ shlwapi.lib;runtimeobject.lib;%(AdditionalDependencies) source.def + + makeappx pack /d .\Packaging /p $(OutDir)NppModernShell.msix /nv + diff --git a/PowerEditor/src/tools/xmlApiSorter/sorter.cpp b/PowerEditor/src/tools/xmlApiSorter/sorter.cpp deleted file mode 100644 index 72a602e4c..000000000 --- a/PowerEditor/src/tools/xmlApiSorter/sorter.cpp +++ /dev/null @@ -1,193 +0,0 @@ -// This file is part of Notepad++ project -// Copyright (C)2021 Don HO - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// at your option any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - - -#include -#include -#include "tinyxml.h" - -#include -#include - -using namespace std; - -struct xmlname{ - TiXmlElement * node; - const char * name; - xmlname(TiXmlElement * n, const char * na) { node = n; name = na;} -}; - -//true if x1 smaller -bool sortXMLCase(const xmlname & x1, const xmlname & x2) { - return (strcmp(x1.name, x2.name) < 0); -} - -inline bool lower(char c) { - return (c >= 'a' && c <= 'z'); -} - -inline bool match(char c1, char c2) { - if (c1 == c2) return true; - if (lower(c1)) - return ((c1-32) == c2); - if (lower(c2)) - return ((c2-32) == c1); - return false; -} - -//true if x1 smaller -bool sortXML(const xmlname & x1, const xmlname & x2) { - - const char * n1 = x1.name, * n2 = x2.name; - int i = 0; - while(match(n2[i], n1[i])) { - if (n1[i] == 0) { - return true; //equal - } - i++; - } - - int subs1 = lower(n1[i])?32:0; - int subs2 = lower(n2[i])?32:0; - - return ( (n1[i]-subs1) < (n2[i]-subs2) ); - -} - -void merge(TiXmlElement * n1, TiXmlElement * n2); - -int main(int argc, char *argv[]) -{ - const char * file = NULL; - - if (argc < 2) { - cout << "Usage: sorter.exe xmlfile.xml" << endl; - return 1; - } - file = argv[1]; - - TiXmlDocument *pXmlApi = NULL; - pXmlApi = new TiXmlDocument(file); - bool loadOkay = pXmlApi->LoadFile(); - if (!loadOkay) return 1; - - TiXmlNode *root = pXmlApi->FirstChild("NotepadPlus"); - if (!root) { - cout << "NotepadPlus node not found\n"; - return 1; - } - TiXmlElement *autoc = root->FirstChildElement("AutoComplete"); - if (!autoc) { - cout << "AutoComplete node not found\n"; - return 1; - } - const char * langName = autoc->Attribute("language"); - - TiXmlElement *envNode = autoc->FirstChildElement("Environment"); - bool ignoreCase = false; - if (envNode) { - cout << "Found environment settings\n"; - const char * ignoreCaseText = envNode->Attribute("ignoreCase"); - if (ignoreCaseText) { - ignoreCase = (strcmp(ignoreCaseText, "yes") == 0); - if (ignoreCase) { - cout << "Sorting case insensitive\n"; - } else { - cout << "Sorting case sensitive\n"; - } - } else { - cout <<"Cannot find attribute \"ignoreCase\", defaulting to case sensitive sort\nConsider adding the node\n"; - } - } else { - cout << "No environment settings found, defaulting to case sensitive sort\nConsider adding the node\n"; - } - - vector words; - for (TiXmlElement *childNode = autoc->FirstChildElement("KeyWord"); - childNode ; - childNode = childNode->NextSiblingElement("KeyWord") ) - { - const char * name = childNode->Attribute("name"); - if (!name) { - cout << "Warning: KeyWord without name!, skipping...\n"; - continue; - } else { - int i = 0; - while(name[i] != 0) { - if (!isalnum(name[i]) && name[i] != '_') { - cout << "Warning, keyword " << name << " contains unsupported characters!\n"; - break; - } - i++; - } - words.push_back(xmlname(childNode, name)); - } - } - - if (ignoreCase) - sort(words.begin(), words.end(), sortXML); - else - sort(words.begin(), words.end(), sortXMLCase); - - for(size_t i = 1; i < words.size(); i++) { - //merge duplicates - if (!strcmp(words[i].name, words[i-1].name)) { - merge(words[i-1].node, words[i].node); - words.erase(words.begin() + i); - } - } - - TiXmlDocument doc; - TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "Windows-1252", "" ); - doc.LinkEndChild( decl ); - TiXmlElement * element = new TiXmlElement( "NotepadPlus" ); - doc.LinkEndChild( element ); - TiXmlElement * element2 = new TiXmlElement( "AutoComplete" ); - element->LinkEndChild( element2 ); - - if (langName) - element2->SetAttribute("language", langName); - - if (envNode) - element2->LinkEndChild(envNode); - - for(size_t i = 0; i < words.size(); i++) { - element2->LinkEndChild(words[i].node); - } - - doc.SaveFile( file ); - - return 0; -} - -void merge(TiXmlElement * n1, TiXmlElement * n2) { - const char * funcAttr = NULL; - funcAttr = n2->Attribute("func"); - if (!funcAttr || !strcmp(funcAttr, "yes")) { - return; - } - - n1->SetAttribute("func", "yes"); - - for (TiXmlElement *childNode = n2->FirstChildElement("Overload"); - childNode ; - childNode = childNode->NextSiblingElement("Overload") ) - { - n1->LinkEndChild(childNode); - } - - return; -} diff --git a/PowerEditor/src/tools/xmlApiSorter/sorter.vcproj b/PowerEditor/src/tools/xmlApiSorter/sorter.vcproj deleted file mode 100644 index 45dcfb160..000000000 --- a/PowerEditor/src/tools/xmlApiSorter/sorter.vcproj +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -