Релизы проекта Odin
odin-0.9.0.zip (2017-07-28)
- Build against GCC 4.9.2 and kLIBC 0.6.6.
- kernel32: Fix processing of command line provided by kLIBC executables.
- This fixes handling arguments with spaces and double quotes.
- user32: Do not zero custom window data of foreign OS/2 windows. This fixes frozen Firefox after using Flash issues and potentially other cases.
odin-0.8.9.zip (2013-02-17)
- kernel32: Fix long string output to stdout in console I/O mode.
- kernel32: Fix endless loop in new console I/O mode. This fixes hangs of Java applicaitons logging to the console.
- gdi32: Fix crash in ResetDCW() caused by accessing invalid memory. This fixes printing in all Java applications.
- riched32: Return TRUE from EM_SETBKGNDCOLOR and EM_SETCHARFORMAT.
- kernel32: Export ODIN_ThreadContextSave and ODIN_ThreadContextResore. Needed for recent Flash.
- kernel32: Add stubs for CoQueryProxyBlanket and friends. Required by recent Flash.
- kernel32: Implement proper input/output console support for VIO applications in Odin SDK mode. This makes APIs like GetNumberOfConsoleInputEvents actually work. This mode is only used if stdin/stdout is not redirected and not piped.
- kernel32: Make all console modes on by default except ENABLE_WINDOW_INPUT (according to MSDN).
- kernel32: Add RegisterDummyExeEx that allows to specify a resource tree simulating the resource section of a real Win32 EXE.
- kernel32: Make LoadLibraryEx correctly return the Win32 EXE module handle when given full EXE file name.
- kernel32: Serialize stack trace logging on crashes to make sure it's not intermixed with output from other threads.
- kernel32: Increase the maximum number of GDI handles from 1024 to 4096. This fixes some heavily interactive flash content.
odin-0.8.6.zip
- kernel32: Fix crash when using the new SEH scheme (0.8.5 regression).
- kernel32: Disable Win32 TIB switch completely by default. This fixes spins in an exception handler loop in some applications (e.g. LibreOffice trying to load JVM.DLL).
- kernel32: Add support for custom PE/PEC/W16ODIN paths to ODIN.INI (fixes broken PE/PEC functionality in RPM packages).
- kernel32: Add GetCPInfoEx and ConvertThreadToFiber (needed for GTK).
- kernel32: Add InitializeSListHead (needed for MSVCR100.DLL).
- kernel32: Fix inverted return values in GetFileInformationByHandle and some other APIs (this could confuse Flash 10.1+).
- kernel32: Implement GetFileInformationByHandle for directories.
- kernel32: Add support for Windows XP SP3 version and make it the default.
- user32: Partly implement MsgWaitForMultipleObjectsEx (for Flash 11.4).
- shell32: Export SHGetSpecialFolderPathW (needed by Flash 11.4).
- crypt32: Disable debug fields of RTL_CRITICAL_SECTION_DEBUG (fixes occasional crashes in CRYPT32.DLL e.g. during playback of some Flash).
- odininst: Register DLLs that require registration (fixes playback of some Flash content for Flash versions starting from 10.1).
- pe: Don't add .exe if an extension is already present in the program name (this fixes programs like InstallShiled that use non-standard extensions).
- pe: Fix memory allocation error for some Win32 EXEs (this error could be displayed if the size of the EXE was too small).
- kernel32: Исправлена ошибка в PE.EXE/PEC.EXE.
- kernel32: Экспорт заголовков функций CreateToolhelp32Snapshot, Trhread32First, Trhread32Next (используется Flash).
- kernel32: Сделан SEH для работы в контексте OS/2 (чтобы избежать переключения регистра FS в контекст Win32 и обратно).
- kernel32: Добавлены переменные среды окружения HOMEDRIVE / HOMEPATH, которые используются некоторыми приложениями, чтобы найти домашний каталог.
- kernel32: Улучшение логов (с указанием текущего режима FS).
- user32: Добавлена обработка сообщений WM_MOUSEACTIVATE и WM_PARENTNOTIFY идентично системе Windows.
- user32: Функция CreateFakeWindowEx() возвращает ссылку на уже существующую оболочку вместо NULL (это гораздо практичнее)
- ntdll: Добавлен экспорт RtlGetVersionNumber.
- gdi32: Исправлен потери текста в функции TextOut() при использовании не-тождественного преобразования матрицы. Это исправляет отсутствующие элементы текста в некоторых приложениях.
- gdi32: Реализация расширенной версии функции ResetDC(). Используется в последних OpenJDK.
- iphlpapi: Исправлены возможные сбои в работе функции GetAdaptersInfo() и аналогичных. Это устраняет спонтанные аварий, которые могут возникнуть в приложениях, использующих сеть.
- Добавлен новый логотип в диалоге "О программе".
- Пункт системного меню "О программе" переведен на язык системы.
- crypt32: Fix occasional crashes in CRYPT32.DLL (e.g. when playing back some Flash contents).
- imm32: Initialize KERNEL32.DLL on DLL init (this fixes applications that import IMM32 before KEREL32, e.g. latest OpenJDK builds).
- kernel32: Support guard page exceptions (this is used in OpenJDK to implement yellow and red zones on the thread stack).
- kernel32: Align stack size interpretation in CreateThread() with MSDN (this may fix "out of stack" exceptions in some applications).
- Add bldlevel info to all Odin DLLs and EXEs.
- Fix "Memory allocation failure" error when loading some Win32 EXEs with PE/PEC.
- user32: Implement GetComboBoxInfo() needed for some apps.
- Fix crashes in CreateIconIndirect()/CreateIconFromResource()/LoadImage() (seen in e.g. WinRAR).
- wgss: Fix broken GetFullPathName() that could lead to strange behavior.
- Add a bunch of API stubs referenced by the debug version of Flash DLL.
- shell32: Implement SHGetDiskFreeSpace[Ex]().
- user32: Make sure GetQueueStatus?() correctly reports QS_KEY state (this fixes playback in focused windows in Flash versions above 10.0.45).
- kernel32: Implement SwitchToThread().
- Brush up log files in Odin debug builds (human readable timestamps, output serialization, etc.).
- user32: Support MIIM_FTYPE/MIIM_STRING flags properly in InsertMenuItem() and SetMenuItemInfo() (this e.g. fixes context menus in Flash > 10.0.45).
- Show Odin version number in the About Odin dialog.
- Increase the minor version number due to changing the installer to RPM.
- wgss: Add a hack to fix changing the current directory in CreateProcess when starting the process of the same type.
- kernel32: CreateProcess: Add support for CREATE_UNICODE_ENVIRONMENT. This fixes environment processing in Unicode mode (e.g. in OpenJDK).
- kernel32: GetFileAttributesEx: Accept paths with trailing slashes. This fixes unexpected failures in e.g. SmartGit under OpenJDK.
- odininst: Create "Program Files" in WINDOWSDIR instead of drive root.
odin32bin-20110710-release.wpi
- kernel32: SEH: Disabled unwinding Win32 exception handlers in response to the OS/2 unwind procedure to prevent endless recursive crashes inside OS2RtlUnwind() happening due to stack corruption under SMP kernel when too many threads are being unwound at once (seen as a lot of c0010001 and c0010002 exceptions in POPUPLOG.OS2 after application termination).
- kernel32: Fixed a regression in 0.6.21659 that caused crashes in DOSCALL1 when writing to memory mapped files. The wrong code path would incorrectly invalidate memory pages on each write. This affected all OpenJDK apps.
odin32bin-20110627-release.wpi
- kernel32: Fixed crashes in code involving _try/except due to garbage in FS:[0].
- kernel32: GetFileAttributesEx?(): Interpret paths like 'X:' as 'X:\' instead of reporting an error, for compatibility with Win32.
- kernel32: Propagate exceptions further along the OS/2 chain instead of terminating the application if the last Win32 exception handler (eg the SEH one) returns ExceptionContinueSearch. This lets unhandled exceptions be seen by eg PROCDUMP.
- kernel32: SEH: Fixed rare crashes at process termination caused by attempting to unwind the Win32 exception chain twice, the second time after destroying the Win32 TEB block.
- kernel32: Fixed: Closing a duplicate of a handle opened with FILE_FLAG_DELETE_ON_CLOSE would not perform file deletion as it should if that duplicate was the last reference to the file (e.g. closed after the original handle).
- ole32: Fixed a crash when dragging an object that doesn't support CF_TEXT or CF_HDROP over an OS/2 (non-Odin) window.
- shell32: Fixed SHGetFileInfoW(): PIDL input argument was misinterpreted as a string and the display name and type name fields SHFILEINFOW were not properly set on output resulting in garbage on the caller's side.
- shell32: SHGetFileInfo(): Differentiate between different drive types (network, local, removable etc) when filling the type name field for paths like 'X:\'.
- user32: Fixed standard scroll bar functionality (stuck arrow and thumb buttons) broken in February 2010.
- dsound: Open audio devices in shared mode to allow other processes play sound when Java applications are running.
- wsock32: Don't start a dummy async thread when WSAEventSelect() is called to simply cancel a non-existing association on a socket.
- wsock32: Fixed: Zeroing the async task structure at task termination would prevent the VSemaphore destructor to be called which caused memory leaks.
- general: Show a nice error message box and exit instead of crashing if WGSS50.DLL or KERNEL32.DLL initialization fails (eg due to low memory).
odin32bin-20110512-release.wpi
- kernel32: Исправлено: Разбор .SYM файлов при печати трассировки стека в режиме отладки не был потокобезопасным, что вызвало мусор и вложенные сбои.
- kernel32: SEH: Исправлен ряд ошибок в __try / __catch hangling, которые могли приводить к различным проблемам, при прохождении нескольких вложенных исключений Win32 (как правило, в процессе завершения работы в результате неустранимых ошибок или чистого выхода).
- kernel32: Не используется printf в ODINCRT (VACRT) Е при обращении в XCPT_UNWIND в режиме отладки, так как это влечет за собой мертвое зависание.
- kernel32: Перед завершением прохождения цепи исключений Win32, убедитесь, что она пройдена полностью, перед тем как поток завершает свое выполнение через ExitThread или ExitProcess и т.д., прежде, чем снимать обработчики исключений из стека.
- wgss: Добавлен хак, который обеспечивает снятие блокировки системы, когда поток завершается. Это позволяет избежать мертвых зависаний компьютера при завершении процессов, ведущих к появлению неуничтожимых зомби процессов, что особенно часто проявляется на SMP системах.
- gdi32: Исправлена ошибка в TextOut? API который рисует текст повернутый вокруг базовой линии.
- comdlg32: При печати теперь используется родной диалог печати PM, а не Win32 клон. Это выглядит гораздо более приятно и дает доступ ко всем настройкам печати.
- minivcrt: Исправлена функция _fullpath()/_wfullpath() , которая была нарушена во многих местах (т.е. теперь функция будет принимать параметры начинающиеся на "." и "..").
odin32bin-20110112-release.wpi
- minivcrt: Функция _fullpath () заменена собственной версией вместо использования kLIBC, потому что функция из kLIBC не корректно работает с несуществующими путями (это допустимо только если последний компонент не существует), что может привести к замене буквы диска для вызывающего процесса.
- user32: Исправлен ввод символов в национальной кодировке. Это было сломано в предыдущей версии.
- user32: Исправлен неправильный перевод в кодовую страницу текста заголовка окна.
- user32: Добавлена функция GetQueueStatus (), которая возвращает фактическое состояние очереди в вехнем байтe слова, а не копию нижнего байта.
- user32: Исправлена ошибка во время DnD, когда объект был перемещен через заголовок окна.
Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ