Faculty of Information Technology
Software Engineering Group

Opened 22 months ago

Closed 5 months ago

#126 closed defect (fixed)

Copy to workspace (same thing in the Inspector) this line - becomes invisible (only when selecting via mouse it appears):

Reported by: Patrik Svestka Owned by: Patrik Svestka
Priority: major Milestone:
Component: default Keywords:
Cc: Also affects CVS HEAD (eXept version): no

Description

The issue is on both workspace and Inspector:

You can copy following line to both and it will disappear and you have to select it via mouse to make it appear again:

Dictionary(Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\97)->Dictionary('Item Name'->'SI' 'Arguments'->'-O -A "\\rprmsacl03\e$$\SI_Prisma_Interface\Dev\Export"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,26' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\89)->Dictionary('Item Name'->'SI' 'Arguments'->'-O -A "\\rprmsacl03\e$$\SI_Prisma_Interface\Dev\Import"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,176' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\80)->Dictionary('Item Name'->'LogSI' 'Arguments'->'-O -A "\\rprmsacl03\e$$\Apps\LogSI"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,21' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\72)->Dictionary('Item Name'->'SI' 'Arguments'->'-O -A "\\rprmsacl03\PrismaTemplatesSI"' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\System32\printui.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\64)->Dictionary('Item Name'->'C:' 'Arguments'->'-O -A "\\rprmsacl03\c$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,7' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\56)->Dictionary('Item Name'->'RPRMSWTS03' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\48)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\4)->Dictionary('Item Name'->'rprmswts03' 'Arguments'->'/v:rprmswts03 /f' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'c:\windows\system32\mstsc.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\31)->Dictionary('Item Name'->'CZ PROD Interface' 'Arguments'->'-O -A "\\rprmsacl04\e$$\CZ_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\23)->Dictionary('Item Name'->'acl06' 'Arguments'->'-t rprmsacl06' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\15)->Dictionary('Item Name'->'Rubymine' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\IDE\RubyMine 8.0.2\bin\rubymine.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\12)->Dictionary('Item Name'->'IE' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\Program Files\Internet Explorer\iexplore.exe' 'Icon'->'C:\Program Files\Internet Explorer\iexplore.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\111)->Dictionary('Item Name'->'prod_CLF and Dev_DW' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\103)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\95)->Dictionary('Item Name'->'LT' 'Arguments'->'-O -A "\\rprmsacl03\e$$\LT_Prisma_Interface\Dev\Export"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,26' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\87)->Dictionary('Item Name'->'LT' 'Arguments'->'-O -A "\\rprmsacl03\e$$\LT_Prisma_Interface\Dev\Import"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,176' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\79)->Dictionary('Item Name'->'LogRO' 'Arguments'->'-O -A "\\rprmsacl03\e$$\Apps\LogRO"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,21' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\70)->Dictionary('Item Name'->'LT' 'Arguments'->'-O -A "\\rprmsacl03\PrismaTemplatesLT"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\System32\printui.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\62)->Dictionary('Item Name'->'RPRMSACL03' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\54)->Dictionary('Item Name'->'RPPRMSACL08' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\46)->Dictionary('Item Name'->'SAM_SE_PRISMA_Interface' 'Arguments'->'-O -A "\\rm2ms001429\e$$\SAM_SE_PRISMA_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\38)->Dictionary('Item Name'->'RU PROD interface' 'Arguments'->'-O -A "\\rmomsas05\e$$\RU_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\3)->Dictionary('Item Name'->'rprmsacl04' 'Arguments'->'/v:rprmsacl04 /f' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'c:\windows\system32\mstsc.exe' 'Icon'->'c:\windows\system32\mstsc.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\21)->Dictionary('Item Name'->'acl04' 'Arguments'->'-t rprmsacl04' 'Execute Through Shell'->1 'Close Shell Window'->0 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\13)->Dictionary('Item Name'->'Outlook' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\Program Files (x86)\Microsoft Office\Office14\outlook.exe' 'Icon'->'C:\Program Files (x86)\Microsoft Office\Office14\outlook.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\118)->Dictionary('Item Name'->'symbolic link' 'Arguments'->'/j "$(FullPathInactive)$(NamePart)" "$(FullPath)"' 'Execute Through Shell'->1 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'mklink' 'Icon'->'C:\Windows\system32\SHELL32.DLL,45' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\11)->Dictionary('Item Name'->'Notepad++' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\editors\Notepad(x86)++\notepad++.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\101)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\93)->Dictionary('Item Name'->'Export' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\85)->Dictionary('Item Name'->'Import' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\77)->Dictionary('Item Name'->'Log' 'Arguments'->'-O -A "\\rprmsacl03\e$$\Apps\Log"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,21' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\69)->Dictionary('Item Name'->'CZ' 'Arguments'->'-O -A "\\rprmsacl03\PrismaTemplates"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\System32\printui.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\60)->Dictionary('Item Name'->'RPRMSACL04' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\52)->Dictionary('Item Name'->'RPRMSACL07' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\44)->Dictionary('Item Name'->'SAM_DK_Prisma_Interface' 'Arguments'->'-O -A "\\rm2ms001429\e$$\SAM_DK_Prisma_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\36)->Dictionary('Item Name'->'HR PROD Interface' 'Arguments'->'-O -A "\\rprmsacl04\e$$\HR_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\28)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\2)->Dictionary('Item Name'->'rprmsacl03' 'Arguments'->'/v:rprmsacl03 /f' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'c:\windows\system32\mstsc.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\124)->Dictionary('Item Name'->'ListOfSelectedFiles' 'Arguments'->'$(ListOfSelectedFullNames)' 'Execute Through Shell'->1 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\file_managers\Salamander\plugins\makefile.cmd' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\116)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\108)->Dictionary('Item Name'->'disk d:' 'Arguments'->'-O -A "\\rbsmscrm01\d$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\10)->Dictionary('Item Name'->'Salamander' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\file_managers\Salamander\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\91)->Dictionary('Item Name'->'HR' 'Arguments'->'-O -A "\\rprmsacl03\e$$\HR_Prisma_Interface\Dev\Import"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,176' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\83)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\75)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\67)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\59)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\50)->Dictionary('Item Name'->'RPRMSWTS06' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\42)->Dictionary('Item Name'->'SAM_AT_PRISMA_Interface' 'Arguments'->'-O -A "\\rm2ms001429\e$$\SAM_AT_PRISMA_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\34)->Dictionary('Item Name'->'SI PROD Interface' 'Arguments'->'-O -A "\\rprmsacl04\e$$\SI_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\26)->Dictionary('Item Name'->'wts03' 'Arguments'->'-t rprmwts03' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\18)->Dictionary('Item Name'->'EA' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\software_architecture\EA10\EA.exe' 'Icon'->'C:\app\software_architecture\EA10\EA.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\122)->Dictionary('Item Name'->'SYNC-fastcopy' 'Arguments'->'/cmd=sync /auto_close /open_window /verify /acl /bufsize=512MB /disk_mode=auto "$(Fullname)" /to="$(FullPathInactive)"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app_portable\tools\fastcopy\x64\FastCopy.exe' 'Icon'->'C:\app_portable\tools\fastcopy\allway_sync_metro_icon_32x32.ico,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\114)->Dictionary('Item Name'->'disk e:' 'Arguments'->'-O -A "\\rbsmscrm01\e$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\106)->Dictionary('Item Name'->'dev_CLF and PROD_DW' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\98)->Dictionary('Item Name'->'SK' 'Arguments'->'-O -A "\\rprmsacl03\e$$\SK_Prisma_Interface\Dev\Export"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,26' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\9)->Dictionary('Item Name'->'Compare' 'Arguments'->'"$(FileOrDirToCompareLeft)" "$(FileOrDirToCompareRight)"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\tools\Beyond Compare 4\BCompare.exe' 'Icon'->'C:\app\tools\Beyond Compare 4\BCompare.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\81)->Dictionary('Item Name'->'LogSK' 'Arguments'->'-O -A "\\rprmsacl03\e$$\Apps\LogSK"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,21' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\73)->Dictionary('Item Name'->'SK' 'Arguments'->'-O -A "\\rprmsacl03\PrismaTemplatesSK"' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\System32\printui.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\65)->Dictionary('Item Name'->'D:' 'Arguments'->'-O -A "\\rprmsacl03\d$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,7' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\57)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\49)->Dictionary('Item Name'->'Praha' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\40)->Dictionary('Item Name'->'TR PROD Interface' 'Arguments'->'-O -A "\\rm2ms001157\e$$\TR_Prisma_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\32)->Dictionary('Item Name'->'LT PROD Interface' 'Arguments'->'-O -A "\\rprmsacl04\e$$\LT_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\24)->Dictionary('Item Name'->'acl07' 'Arguments'->'-t rprmsacl07' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\16)->Dictionary('Item Name'->'cmd' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'c:\windows\system32\cmd.exe' 'Icon'->'c:\windows\system32\cmd.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\120)->Dictionary('Item Name'->'COPY-fastcopy' 'Arguments'->'/cmd=diff /auto_close /open_window /verify /acl /bufsize=512MB /disk_mode=auto "$(Fullname)" /to="$(FullPathInactive)"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app_portable\tools\fastcopy\x64\FastCopy.exe' 'Icon'->'C:\app_portable\tools\fastcopy\ProgramFilesFolder.ico,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\112)->Dictionary('Item Name'->'disk c:' 'Arguments'->'-O -A "\\rbsmscrm02\c$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\104)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\96)->Dictionary('Item Name'->'RO' 'Arguments'->'-O -A "\\rprmsacl03\e$$\RO_Prisma_Interface\Dev\Export"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,26' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\88)->Dictionary('Item Name'->'RO' 'Arguments'->'-O -A "\\rprmsacl03\e$$\RO_Prisma_Interface\Dev\Import"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,176' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\8)->Dictionary('Item Name'->'Proclarity' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\Program Files (x86)\ProClarity\ProClarity Desktop Professional\ProClarity.exe' 'Icon'->'C:\Program Files (x86)\ProClarity\ProClarity Desktop Professional\ProClarity.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\71)->Dictionary('Item Name'->'RO' 'Arguments'->'-O -A "\\rprmsacl03\PrismaTemplatesRO"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\System32\printui.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\63)->Dictionary('Item Name'->'disky' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\55)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\47)->Dictionary('Item Name'->'SAM_FI_Prisma_Interface' 'Arguments'->'-O -A "\\rm2ms001429\e$$\SAM_FI_Prisma_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\39)->Dictionary('Item Name'->'ZA PROD Interface' 'Arguments'->'-O -A "\\RM2MS001091\e$$\ZA_Prisma_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\30)->Dictionary('Item Name'->'Interfaces' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\22)->Dictionary('Item Name'->'acl03' 'Arguments'->'-t rprmsacl03' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\14)->Dictionary('Item Name'->'putty' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\App\putty\putty.exe' 'Icon'->'C:\app\net_tools\putty\putty.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\119)->Dictionary('Item Name'->'fastcopy' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\110)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\102)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\94)->Dictionary('Item Name'->'CZ' 'Arguments'->'-O -A "\\rprmsacl03\e$$\CZ_Prisma_Interface\Dev\Export"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,26' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\86)->Dictionary('Item Name'->'CZ' 'Arguments'->'-O -A "\\rprmsacl03\e$$\CZ_Prisma_Interface\Dev\Import"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,176' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\78)->Dictionary('Item Name'->'LogLT' 'Arguments'->'-O -A "\\rprmsacl03\e$$\Apps\LogLT"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,21' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\7)->Dictionary('Item Name'->'Sql2008' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe' 'Icon'->'C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\61)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\53)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\45)->Dictionary('Item Name'->'SAM_NO_Prisma_Interface' 'Arguments'->'-O -A "\\rm2ms001429\e$$\SAM_NO_Prisma_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\37)->Dictionary('Item Name'->'Outside servers' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->3 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\29)->Dictionary('Item Name'->'Servery' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\20)->Dictionary('Item Name'->'ping' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\125)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\117)->Dictionary('Item Name'->'Tools' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\109)->Dictionary('Item Name'->'disk e:' 'Arguments'->'-O -A "\\rbsmscrm01\e$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\100)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\92)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\84)->Dictionary('Item Name'->'Interface' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\76)->Dictionary('Item Name'->'Log' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\68)->Dictionary('Item Name'->'Printing templates' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\6)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\51)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\43)->Dictionary('Item Name'->'SAM_BE_PRISMA_Interface' 'Arguments'->'-O -A "\\rm2ms001429\e$$\SAM_BE_PRISMA_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\35)->Dictionary('Item Name'->'SK PROD Interface' 'Arguments'->'-O -A "\\rprmsacl04\e$$\SK_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\27)->Dictionary('Item Name'->'wts06' 'Arguments'->'-t rprmswts06' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\19)->Dictionary('Item Name'->'Snagit' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\Program Files (x86)\TechSmith\Snagit 12\Snagit32.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\123)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\115)->Dictionary('Item Name'->'(Submenu End)' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->2 'Show In Toolbar'->0 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\107)->Dictionary('Item Name'->'disk c:' 'Arguments'->'-O -A "\\rbsmscrm01\c$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\1)->Dictionary('Item Name'->'RDP' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'c:\windows\system32\mstsc.exe,0' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\99)->Dictionary('Item Name'->'HR' 'Arguments'->'-O -A "\\rprmsacl03\e$$\HR_Prisma_Interface\Dev\Export"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,26' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\90)->Dictionary('Item Name'->'SK' 'Arguments'->'-O -A "\\rprmsacl03\e$$\SK_Prisma_Interface\Dev\Import"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,176' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\82)->Dictionary('Item Name'->'LogHR' 'Arguments'->'-O -A "\\rprmsacl03\e$$\Apps\LogHR"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\app\file_managers\Salamander\salamand.exe,21' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\74)->Dictionary('Item Name'->'HR' 'Arguments'->'-O -A "\\rprmsacl03\PrismaTemplatesHR"' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\System32\printui.exe,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\66)->Dictionary('Item Name'->'E:' 'Arguments'->'-O -A "\\rprmsacl03\e$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,7' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\58)->Dictionary('Item Name'->'RPRMSACL06' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->'') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\5)->Dictionary('Item Name'->'rbsmsts01' 'Arguments'->'/v:rbsmsts01 /f' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'c:\windows\system32\mstsc.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\41)->Dictionary('Item Name'->'GR PROD Interface' 'Arguments'->'-O -A "\\rm2ms001157\e$$\GR_Prisma_Interface"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe ' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\33)->Dictionary('Item Name'->'RO PROD Interface' 'Arguments'->'-O -A "\\rprmsacl04\e$$\RO_Prisma_Interface\Prod"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'C:\Windows\system32\SHELL32.DLL,9' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\25)->Dictionary('Item Name'->'acl08' 'Arguments'->'-t rprmsacl08' 'Execute Through Shell'->1 'Close Shell Window'->1 'Open Shell Window'->1 'Command'->'ping' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\17)->Dictionary('Item Name'->'Palemoon' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app\browsers\PaleMoon\palemoon.exe' 'Icon'->'C:\app\browsers\PaleMoon\palemoon.exe,5' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\121)->Dictionary('Item Name'->'MOVE-fastcopy' 'Arguments'->'/cmd=move /auto_close /open_window /verify /acl /bufsize=512MB /disk_mode=auto "$(Fullname)" /to="$(FullPathInactive)"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'C:\app_portable\tools\fastcopy\x64\FastCopy.exe' 'Icon'->'C:\app_portable\tools\fastcopy\Favorites.ico,0' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\113)->Dictionary('Item Name'->'disk d:' 'Arguments'->'-O -A "\\rbsmscrm02\d$$"' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'$(SalDir)\salamand.exe' 'Icon'->'' 'Type'->0 'Show In Toolbar'->1 'Initial Directory'->'$(FullPath)') Win32OperatingSystem::RegistryEntry(HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Software\Altap\Altap Salamander 3.08\User Menu\105)->Dictionary('Item Name'->'Madarsko' 'Arguments'->'' 'Execute Through Shell'->0 'Close Shell Window'->0 'Open Shell Window'->0 'Command'->'' 'Icon'->'' 'Type'->1 'Show In Toolbar'->1 'Initial Directory'->''))

Attachments (7)

issue_126_patch_1_of_1_r93c03926d389.patch (6.5 KB) - added by Patrik Svestka 21 months ago.
Drawing TextOutA and TextOutW chunk-by-chunk
issue_126_patch_1_of_1_redc9b78c5b42.patch (5.2 KB) - added by Patrik Svestka 21 months ago.
The new improved version of the fix - Drawing TextOutA and TextOutW chunk-by-chunk
libview_fix_1_of_1_rev_d97ece7b69c3__126_Copy_to_workspace__same_thing_in_the_Inspector__this_line___becomes_invisible.patch (9.2 KB) - added by Patrik Svestka 9 months ago.
the maximum display buffer adjusting for all font sizes.
libview_fix_1_of_1_rev_e703c1122501_Removing_hack__correctly_calculating_masDisplayBuffer_and_having_fallback_maxDisplayBuffer_is_set_to_107_characters_.patch (14.0 KB) - added by Patrik Svestka 8 months ago.
maxDisplayBuffer calculation with test. Adding additional selector isDepthXXImage where XX is Screen depth
libview_fix_1_of_1_rev_53572fb6382e_Issue__126__Removing_hack__correctly_calculating_masDisplayBuffer_and_having_fallback_maxDisplayBuffer_is_set_to_107_characters_.patch (14.0 KB) - added by Patrik Svestka 8 months ago.
maxDisplayBuffer calculation with test. Adding additional selector isDepthXXImage where XX is Screen depth
libview_fix_1_of_1_rev_0970def93a4c_Issue__126__Removing_hack__correctly_calculating_masDisplayBuffer_and_having_fallback_maxDisplayBuffer_is_set_to_107_characters_.patch (14.0 KB) - added by Patrik Svestka 8 months ago.
maxDisplayBuffer calculation with test. Adding additional selector isDepthXXImage where XX is Screen depth
libview_fix_1_of_1_rev_96a744e08e25_Issue__126__Removing_hack__correctly_calculating_masDisplayBuffer_and_having_fallback_maxDisplayBuffer_is_set_to_107_characters_.patch (23.2 KB) - added by Patrik Svestka 5 months ago.
A patch containing all the changes in one file - hopefully last patch

Download all attachments as: .zip

Change History (41)

comment:1 Changed 21 months ago by Jan Vrany

Simpler way to reproduce

contents := String new: 4 * 1024.
contents replaceAll: Character space with: $X.

top := StandardSystemView new.
top extent:300@200.

textView := EditTextView new.
textView origin:0.0 @ 0.0 corner:1.0 @ 1.0.
top addSubView:textView.

textView contents: contents.

top open. 

With 4k string it fails to draw it. With 3k string, it draws it just fine.

The code responsible for drawing the string is in WinWorkstation>>displayString:from:to:x:y:in:with:opaque:. Note, that the code is broken anyway as it just truncates the string drawn - it should iterate over the string and draw it by pieces if there's some internal (and undocumented!) limit.

comment:2 Changed 21 months ago by Jan Vrany

According to my experiments (using the code above), string of length 3275 bytes is drawn, string of length 3275 fails to draw.

Interestingly, original (eXept's) code uses the limit of 32758 bytes, (~10 times more,
little less than 32K)

Proper fix for this is, however, a different story. We need to draw it chunk-by-chunk if length exceeds limit. I'd like to avoid an extra call to compute width in order to calculate next reference point manually, so we might need to play with GetTextAlign() / SetTextAlign() and use TA_UPDATECP to update reference point automatically.

comment:3 Changed 21 months ago by Jan Vrany

Milestone: 8.0.0

comment:4 Changed 21 months ago by Patrik Svestka

As Jan was curious about my first attempt here is an C excerpt of the code (WinWorkstation?.st):

displayString:aString from:index1 to:index2 x:x y:y in:ignoredDrawableId with:aGCId opaque:opaque
    "draw a sub-string - if opaque is false, draw foreground only; otherwise, draw both
     foreground and background characters.
     If the coordinates are not integers, an error is triggered."

%{  /* NOCONTEXT */
    unsigned char *cp;
    unsigned int uAlignPrev;
    OBJ cls;
    int i1, i2, n, maxCharBuffer;
    int nInstBytes;
    long l, loopIndex;

    if (__isExternalAddress(aGCId)
     && __isNonNilObject(aString)
     && __bothSmallInteger(index1, index2)
     && __bothSmallInteger(x, y))
    {
	struct gcData *gcData;
	int pX, pY;
	HDC hDC;
	HFONT hOldFont;

	i1 = __intVal(index1) - 1;
	i2 = __intVal(index2) - 1;
	if ((i1 < 0) || (i2 < i1)) {
	    RETURN (self);
	}

	gcData = _GCDATA(aGCId);
	hDC = _getDC(gcData);
	pX = __intVal(x);
	pY = __intVal(y);
	pY -= gcData->fontAscent;

	if (opaque == true) {
	    if (gcData->bkMode != BK_OPAQUE) {
		SetBkMode(hDC, OPAQUE);
		gcData->bkMode = BK_OPAQUE;
	    }
	} else {
	    if (gcData->bkMode != BK_TRANSPARENT) {
		SetBkMode(hDC, TRANSPARENT);
		gcData->bkMode = BK_TRANSPARENT;
	    }
	}
#if 0
	/* leftover code from tries to make TextOut honor the gc-mode,
	 * until I googled, that TextOut does not (by purpose, or backward-bug compatibility)
	 */
	hOldFont = SelectObject(hDC, gcData->hFont);
	SetTextColor(hDC, gcData->fgColor);
	SetBkColor(hDC, gcData->bgColor);
#endif
#if 0
	GcDataGetPen(hDC, gcData);
#endif

/* Text Alignment Options from WinGDI.h */
//#define TA_NOUPDATECP                0 // Do not set the current point to the reference point
#define TA_UPDATECP                  1 // Set the current point to the reference point. 

//#define TA_LEFT                      0 // The reference point will be on the left edge of the bounding rectangle of the text.
//#define TA_RIGHT                     2 // The reference point will be on the right edge of the bounding rectangle of the text. 
//#define TA_CENTER                    6 // The reference point will be horizontally centered along the bounding rectangle of the text. 

//#define TA_TOP                       0 // The reference point will be on the top edge of the bounding rectangle of the text.  
//#define TA_BOTTOM                    8 // The reference point will be on the bottom edge of the bounding rectangle of the text. 
//#define TA_BASELINE                  24 // The reference point will be on the baseline of the text. 

//#if (WINVER >= 0x0400)
//  #define TA_RTLREADING                256 // Win 95/98 only:Display the text right-to-left (if the font is designed for right-to-left reading). 
//  #define TA_MASK       (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
//#else
//  #define TA_MASK       (TA_BASELINE+TA_CENTER+TA_UPDATECP)
//#endif


	cls = __qClass(aString);

	cp = __stringVal(aString);
	l = i2 - i1 + 1;
  maxCharBuffer = 0;
	if (l > 3275) {
	    /* Windows (as in XP or newer) limits the string size for TextOut* to 3275 */
	    //l = 3275;
      maxCharBuffer = 3275;
	}

	if (__isStringLike(aString)) {
	  n = __stringSize(aString);
    commonOutChars:
	  if (i2 < n){ 
      if (l <= 3275){
  		  cp += i1;
  		  CPRINTF(("string1: %s pos=%d/%d l=%d hDC=%x\n", cp, pX, pY,l,hDC));
        SetTextAlign(hDC, TA_CENTER | TA_BASELINE);
  		  if (! TextOutA(hDC, pX, pY, (char *)cp, l)) {
  		    PRINTF(("WinWorkstation [warning]: TextOutA failed. [%d]\n", __LINE__));
  		    PRINTF(("WinWorkstation [warning]: lastError=%d x:%d y:%d len:%d\n", GetLastError(), pX, pY, l));
  		    goto error;
  		  }
      else {
        cp += i1;
        loopIndex = l;
        uAlignPrev = SetTextAlign(hDC, TA_UPDATECP);

        while(loopIndex > maxCharBuffer);{
          SetTextAlign(hDC, GetTextAlign(hdc) | TA_UPDATECP);
          //MoveToEx(hDC, pX, pY, NULL);
          if (! TextOutA(hDC, pX, pY, (char *)cp, maxCharBuffer)) {
            PRINTF(("WinWorkstation [warning]: TextOutA failed. [%d]\n", __LINE__));
            PRINTF(("WinWorkstation [warning]: lastError=%d x:%d y:%d len:%d\n", GetLastError(), pX, pY, l));
            goto error;
          }
          pX += maxCharBuffer;
          loopIndex -= maxCharBuffer;
          cp += maxCharBuffer;
        }
        if (! TextOutA(hDC, pX, pY, (char *)cp, loopIndex)) {
          PRINTF(("WinWorkstation [warning]: TextOutA failed. [%d]\n", __LINE__));
          PRINTF(("WinWorkstation [warning]: lastError=%d x:%d y:%d len:%d\n", GetLastError(), pX, pY, l));
          goto error;
        }
        SetTextAlign(hDC, uAlignPrev); 
      }
      }
	  }
	  goto ret;
	}

comment:5 Changed 21 months ago by Patrik Svestka

I'm still working on this issue. Meantime I have found out that a different version (6.2.5.2131) of StX has different size of the buffer! This shows correctly even when the buffer is just below 4096. Now the question is what happened that the buffer in the HEAD is only 3275. Was there a commit that influenced this?

EDIT: (improved the code)
EDIT2: (further improved the code)

  "/Smalltalk versionString'6.2.5.2131'

maxCharBuffer := 4094.
charToDisplay := 4095.
contents := String new: charToDisplay.
tempContents := String new.
aLetterCollection := OrderedCollection new.
startingLetter := $A.

iterations := (charToDisplay / maxCharBuffer).

iterations isInteger ifFalse:[ 
                        iterations := (iterations asFloat) floor + 1.
                      ].

(1 to: iterations) do: [:aNumber |
                          aLetterCollection add: (((startingLetter asInteger - 1) + aNumber) asCharacter).
                        ].

aLetterCollection do: [:aLetter|
  charToDisplay > maxCharBuffer ifTrue: [
      pickContents := contents copyFrom:1 to:maxCharBuffer.
      pickContents replaceAll: Character space with: aLetter.
      tempContents := tempContents, pickContents.
      contents := contents copyFrom:(maxCharBuffer+1) to:charToDisplay.
      charToDisplay := charToDisplay - maxCharBuffer.

    ] ifFalse: [
        remainingContents := contents copyFrom:1 to:charToDisplay.
        remainingContents replaceAll: Character space with: aLetter.
        contents := tempContents, remainingContents.
       ].
  ].

top := StandardSystemView new.
top extent:300@200.

textView := EditTextView new.
textView origin:0.0 @ 0.0 corner:1.0 @ 1.0.
top addSubView:textView.

textView contents: contents.

top open. 
Last edited 21 months ago by Patrik Svestka (previous) (diff)

Changed 21 months ago by Patrik Svestka

Drawing TextOutA and TextOutW chunk-by-chunk

comment:6 Changed 21 months ago by Patrik Svestka

This patch should issue_126_patch_1_of_1_r93c03926d389.patch fix the issue with the drawing. The current buffer limit is set at 3275 - don't know yet why the older version of StX allowed bigger buffer.

comment:7 Changed 21 months ago by Patrik Svestka

Status: newtesting

comment:8 Changed 21 months ago by Jan Vrany

Cool! Thanks.

I did a quick test, it works and fixes the issue (i.e., it displays the text
even if length exceeds internal buffer length).

I have couple comments though. As we already discussed, I'd prefer you to address them rather than doing it myself. Do begin with:

  • Please fix indentation. Indent one level with 4 spaces (but please don't change tabs to spaces in whole file - it's a long story to explain why).
  • Why did you changed int to long? On Win32, both i386 and x86_64 versions, both int and long are 32bit signed integers 2's complement. Is there any reason I don't see?
  • I'd prefer constants to be UPPER_CASE_SNAKED rather than camelCaseLikeVariables. Just to follow convention in rest of the code. I do appreciate you have used const int ... rather than #define!
  • Please add a comment below the method header explaining that the thicky point is that there's an (undocumented) limited internal buffer so we need to check length to draw against that limit and draw it chunk. Add a references (URL) to this issue at the end of a commit - for better traceability in future.


Sorry for asking more after all that hard work.

Besides, the logic seems bit convoluted and little hard to understand. Maybe it's just because now I'm tired, I'll try to outline simpler code later, doing this now is would make no good :-)

Again, despite all my comments, well done. This one is not the easiest bug to begin with!

comment:9 in reply to:  8 Changed 21 months ago by Patrik Svestka

Replying to jan vrany:

Cool! Thanks.

I did a quick test, it works and fixes the issue (i.e., it displays the text
even if length exceeds internal buffer length).

Glad it works for you. I have encountered another 2 bugs when fixing this one - will post them, when I have them isolated and repeatable.

I have couple comments though. As we already discussed, I'd prefer you to address them rather than doing it myself. Do begin with:

  • Please fix indentation. Indent one level with 4 spaces (but please don't change tabs to spaces in whole file - it's a long story to explain why).

I've done that in the new version (not ready yet).

  • Why did you changed int to long? On Win32, both i386 and x86_64 versions, both int and long are 32bit signed integers 2's complement. Is there any reason I don't see?

Well that was probably years from now when int was now short .]. I've changed all the long back to int as those are really synonyms now.

  • I'd prefer constants to be UPPER_CASE_SNAKED rather than camelCaseLikeVariables. Just to follow convention in rest of the code. I do appreciate you have used const int ... rather than #define!

Done. Glad you like const int.

  • Please add a comment below the method header explaining that the thicky point is that there's an (undocumented) limited internal buffer so we need to check length to draw against that limit and draw it chunk. Add a references (URL) to this issue at the end of a commit - for better traceability in future.

I'll do that for the comment - you can check it later on when I have new version out. I've already added the URL to the commit could you check (it is below the text) - the link is pointing to this ticket.


Sorry for asking more after all that hard work.

Besides, the logic seems bit convoluted and little hard to understand. Maybe it's just because now I'm tired, I'll try to outline simpler code later, doing this now is would make no good :-)

You are right about the convolution. I've made it much simpler in the newer version but it is not ready yet. I'll post it as soon I've it done. So please don't post your idea yet (don't waste energy), but tell me when the newer patch is out, ok?

Again, despite all my comments, well done. This one is not the easiest bug to begin with!

Thank you very much for the encouragement. I did C programming eon ago.

EDIT: plus now I have found a bug in my code.

Last edited 21 months ago by Patrik Svestka (previous) (diff)

comment:10 Changed 21 months ago by Jan Vrany

So please don't post your idea yet (don't waste energy), but tell me when the newer patch is out, ok?

Perfect, I'll wait for improved one. Thanks!

comment:11 Changed 21 months ago by Patrik Svestka

I've finished the vastly improved version. I hope you will like it.
issue_126_patch_1_of_1_redc9b78c5b42.patch

Changed 21 months ago by Patrik Svestka

The new improved version of the fix - Drawing TextOutA and TextOutW chunk-by-chunk

comment:12 Changed 21 months ago by Jan Vrany

I've finished the vastly improved version. I hope you will like it.

Very nice indeed. The logic is not simple and crystal-clear. I tested it and it works, so I pushed it to my staging repository.

With your permission, I'll close this issue as soon as it bubbles up to bitbucket repo. Thanks!

comment:13 in reply to:  12 Changed 21 months ago by Patrik Svestka

Replying to jan vrany:

I've finished the vastly improved version. I hope you will like it.

Very nice indeed. The logic is not simple and crystal-clear. I tested it and it works, so I pushed it to my staging repository.

With your permission, I'll close this issue as soon as it bubbles up to bitbucket repo. Thanks!

I hope the logic is "now" simple and crystal-clear and not "not" :). I love code where nothing can be deleted without affecting the functionality - simple yet effective.

As for the closing, there is still one unresolved issue in this ticket (which I don't understand yet as I did not check the source). Why the version '6.2.5.2131'("/Smalltalk versionString) has size of the MAX_DISPLAY_BUFFER = 4095 (experimentally tested) and the newest version '6.2.6.0' has the size MAX_DISPLAY_BUFFER = 3275 (also experimentally tested). My wild guess is that it has something to do with Unicode32String, which does not work on the older version, isn't that possible?

When this is resolved you can close the ticket and I'll finally have my own first patch, yay!

comment:14 Changed 21 months ago by Jan Vrany

I hope the logic is "now" simple and crystal-clear and not "not" :). I love code where nothing can be deleted without affecting the functionality - simple yet effective.

Sorry, these typos. Of course I meant "now".

Why the version '6.2.5.2131'("/Smalltalk versionString)

Hard to tell. I don't have build #2131 at hand so I can't check. Maybe if you can upload it somewhere for me...

comment:15 in reply to:  14 Changed 21 months ago by Patrik Svestka

Why the version '6.2.5.2131'("/Smalltalk versionString)

Hard to tell. I don't have build #2131 at hand so I can't check. Maybe if you can upload it somewhere for me...

I think that was the very first version I've downloaded directly from eXcept - no sources there. I have uploaded it to - https://uloz.to/!5lkScuWvc1DV/smalltalkx-jv-branch-6-2-5-x86-64-win32-rar. I'm curious about it :).

comment:16 Changed 21 months ago by Patrik Svestka

One more question about the code. Is there any speed implication in doing
either ((char *)cp or w_cp) ?

By segment like:

TextOutA(hDC, 0, 0, (char *)cp, MIN(toDisplay, MAX_DISPLAY_BUFFER)) 

Or doing it all at once:

WIDECHAR *w_cp = (WIDECHAR *)cp;
TextOutW(hDC, 0, 0, w_cp, MIN(toDisplay, MAX_DISPLAY_BUFFER))

Maybe I should harmonize it? What do you think?

comment:17 Changed 21 months ago by Jan Vrany

One more question about the code. Is there any speed implication in doing either ((char *)cp or w_cp) ?

Well, we need to use w_cp variable in order have correct offsets in w_cp += MAX_DISPLAY_BUFFER (we're working with 2byte characters here so compiler has to know that w_cp in pointer (or array of, that's the same) to 2-byte element. So this has to stay.

We can get rid out superfluous cast, replacing (char *)cp by just cp in call to TextOutA. Not sure if it's worth of...

There are no performance implications.

Last edited 21 months ago by Jan Vrany (previous) (diff)

comment:18 Changed 21 months ago by Jan Vrany

As for the closing, there is still one unresolved issue in this ticket (which I don't understand yet as I did not check the source). Why the version '6.2.5.2131'("/Smalltalk versionString) has size of the MAX_DISPLAY_BUFFER = 4095 (experimentally tested) and the newest version '6.2.6.0' has the size MAX_DISPLAY_BUFFER = 3275 (also experimentally tested). My wild guess is that it has something to do with Unicode32String, which does not work on the older version, isn't that possible?

You're right. This is funny. The revision in 2131 build is aa3b1dc01cc0/stx.libview, to see differenceses, do hg diff -r aa3b1dc01cc0 WinWorkstation.st | less. I don't understand why the limit is different here. But hey, MS docs do not mention any limit
at all...

comment:19 in reply to:  18 Changed 20 months ago by Patrik Svestka

Replying to jan vrany:

One more question about the code. Is there any speed implication in doing either ((char *)cp or w_cp) ?

Well, we need to use w_cp variable in order have correct offsets in w_cp += MAX_DISPLAY_BUFFER (we're working with 2byte characters here so compiler has to know that w_cp in pointer (or array of, that's the same) to 2-byte element. So this has to stay.

We can get rid out superfluous cast, replacing (char *)cp by just cp in call to TextOutA. Not sure if it's worth of...

Yes I was talking about the (char *)cp to cp. I know that the w_cp is needed for the Unicode version.

There are no performance implications.

If there are no performance implications then no change is needed.

Replying to jan vrany:

As for the closing, there is still one unresolved issue in this ticket (which I don't understand yet as I did not check the source). Why the version '6.2.5.2131'("/Smalltalk versionString) has size of the MAX_DISPLAY_BUFFER = 4095 (experimentally tested) and the newest version '6.2.6.0' has the size MAX_DISPLAY_BUFFER = 3275 (also experimentally tested). My wild guess is that it has something to do with Unicode32String, which does not work on the older version, isn't that possible?

You're right. This is funny. The revision in 2131 build is aa3b1dc01cc0/stx.libview, to see differenceses, do hg diff -r aa3b1dc01cc0 WinWorkstation.st | less. I don't understand why the limit is different here. But hey, MS docs do not mention any limit
at all...

I was cruising through the code and did not find anything of real importance (maybe color of a background can make the buffer smaller??? another wild guess)
But you are right there was no mention of any limit in MS docs so this fix will work till MS changes it...

comment:20 Changed 20 months ago by Jan Vrany

Neither I could find a difference, other than some caches are larger now. Not sure whether and if it could at all affect TextOutA() in some way.

Anyways, I think we're done for now. If you agree, let's close this issue.

comment:21 in reply to:  20 Changed 20 months ago by Patrik Svestka

Replying to jan vrany:

Neither I could find a difference, other than some caches are larger now. Not sure whether and if it could at all affect TextOutA() in some way.

Anyways, I think we're done for now. If you agree, let's close this issue.

Yes we are done. Please close the issue. The only difference I could find is that the Unicode32String does not work in the older version.

comment:22 Changed 20 months ago by Jan Vrany

Resolution: fixed
Status: testingclosed

comment:23 Changed 20 months ago by Patrik Svestka

Resolution: fixed
Status: closedreopened

comment:24 Changed 14 months ago by Jan Vrany

Milestone: 8.0.0

The current code no longer exhibits an error. The ticket has been reopened for it is thought there's a better solution. However the current solution is good enough for 8.0.0 so this should not block it.

comment:25 Changed 13 months ago by Patrik Svestka

Agreed. I'll try to come up with optimal solution for 8.1.0.

Last edited 13 months ago by Patrik Svestka (previous) (diff)

comment:26 Changed 9 months ago by Patrik Svestka

I have created a dynamic font maxDisplayBuffer buffer patch. Now it should work for all font sizes.

Changed 9 months ago by Patrik Svestka

the maximum display buffer adjusting for all font sizes.

comment:27 Changed 9 months ago by Patrik Svestka

Owner: set to Patrik Svestka
Status: reopenedaccepted

comment:28 Changed 9 months ago by Patrik Svestka

Status: acceptedtesting

comment:29 Changed 8 months ago by Patrik Svestka

After multiple interactions I have created a fix with a test.

Explaining why the test is created only for 24bpp for now:

For now the test runs only on 24dpp (on Windows it is fixed (see hack & issue #201); on Linux it is not fixed but since there are some hard coded shortcuts ( see issue #207 for more) it is hard to test 16bpp -> skipped that. I did not manage to run StX on 32bpp on Linux and thus did not create test for such depth. Such test should not be an issue because 32bit depth is a 24bit depth with added alpha.)

The core of the patch

I'll probably create a blog post for this patch, but currently I do not have space to write it so I'm writing it here.

On windows (7 and up) there is undocumented, you can't find this information anywhere, limit for raster size when using TextOutA or TextOutW. Experimentally, I have come to the conclusion that the limit is most likely set to 16384 points of the raster.

To correctly calculate the maximum display buffer (maxDisplayBuffer) I have come to a formula:

maxDisplayBuffer = 16384 / (maxWidth + tmet.tmOverhang);

maxWidth is the maximum selected font width
tmet.tmOverhang is the "extra width per string that may be added to some synthesized fonts." -> If you want to get the actual width you have to add it to maxWidth. You will get the whole extent then. (For most fonts tmOverhang will be 0.)

The whole definition of tmOverhang is the following (from MSND about TEXTMETRIC structure https://msdn.microsoft.com/en-us/library/windows/desktop/dd145132(v=vs.85).aspx):

tmOverhang

The extra width per string that may be added to some synthesized fonts. When synthesizing some attributes, such as bold or italic, graphics device interface (GDI) or a device may have to add width to a string on both a per-character and per-string basis. For example, GDI makes a string bold by expanding the spacing of each character and overstriking by an offset value; it italicizes a font by shearing the string. In either case, there is an overhang past the basic string. For bold strings, the overhang is the distance by which the overstrike is offset. For italic strings, the overhang is the amount the top of the font is sheared past the bottom of the font.

The tmOverhang member enables the application to determine how much of the character width returned by a GetTextExtentPoint32 function call on a single character is the actual character width and how much is the per-string extra width. The actual width is the extent minus the overhang.

In very rare case there is something wrong with GetTextMetricsW(hDC, &tmet) there is a fix maxDisplayBuffer = 107;. (Smaller buffer would be extremely slow).

This value was derived from all 1170 fonts installed on my computer and computing avgWidth for all fonts size 96pt (In my eyes, this should suffice 99.9% of times. When was the last time you have used 96pt font and above for extremely long strings?)

Jan, please see the patch and test.


Changed 8 months ago by Patrik Svestka

maxDisplayBuffer calculation with test. Adding additional selector isDepthXXImage where XX is Screen depth

Changed 8 months ago by Patrik Svestka

maxDisplayBuffer calculation with test. Adding additional selector isDepthXXImage where XX is Screen depth

comment:30 Changed 8 months ago by Patrik Svestka

Sigh, I have added a OS detection.

The test should run only on Windows. The problem addresses a Windows font issue.

Changed 8 months ago by Patrik Svestka

maxDisplayBuffer calculation with test. Adding additional selector isDepthXXImage where XX is Screen depth

comment:31 Changed 7 months ago by Patrik Svestka

Your idea with caching the maxDisplayBuffer would speed things up considerably when the calculation is done often - like selecting very long strings, doing some manipulation with long strings.

My idea is, if everything works as it should, is to calculate maxDisplayBuffer for all fonts that user is using in StX during first StX run and buffer them.

If user decides to switch font, maxDisplayBuffer would be calculated for that too.

Should StX find any unbuffered maxDipslayBuffer for font used, during its start, it should recalculate it for that font too.

Last edited 7 months ago by Patrik Svestka (previous) (diff)

comment:32 Changed 6 months ago by Jan Vrany

Hi,

I tried to apply attached patches but the fail to apply cleanly (got some rejection). Maybe I did not apply some (all) of them in right order or something.

Could you rebase your patches atop of 76e39223f5ab/stx.libview and then export all of them at once (so we have ... 1_of_3...patch , ...2_of_3...patch - the it;s clear which and in what order to apply? THanks!

comment:33 Changed 5 months ago by Patrik Svestka

Ah, you were right. The patch should have been in three files. I have marge those into one file and edited it to fit the latest changes

I have recreated the patch from the latest swing version - 86cba794dee3/stx.libview.

You can find the patch attached to this ticket:
libview_fix_1_of_1_rev_96a744e08e25_Issue__126__Removing_hack__correctly_calculating_masDisplayBuffer_and_having_fallback_maxDisplayBuffer_is_set_to_107_characters_.patch

Last edited 5 months ago by Patrik Svestka (previous) (diff)

comment:34 Changed 5 months ago by Jan Vrany

Resolution: fixed
Status: testingclosed

Finally, properly fixed in:

  • e2051b1553f0/stx.libview - Issue #126: Removing hack, correctly calculating masDisplayBuffer and having fallback maxDisplayBuffer is set to 107 characters.

Thanks, Patrik!

Note: See TracTickets for help on using tickets.