Выпуск новостей ReactOS №52

Z98 [reactos.org], “Newsletter #52”, public translation into Russian from English More about this translation.

See also 75 similar translations

Translate into another language.

Participants

stampoon650 points
bz00mmer270 points
evilslon190 points
And others...
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2

Newsletter #52

Выпуск новостей ReactOS №52

History of edits (Latest: evilslon 1 year, 4 months ago) §

— спасибо LRN за черновой перевод! stampoon

More Win32 Work

Продожение работы над Win32

History of edits (Latest: bz00mmer 3 years, 3 months ago) §

Timo Kreuzer continues his efforts to make the Win32 subsystem more correct, recently working on the functions SetWindowExtEx and SetViewpointExtEx. The first step was moving it out of win32k, where the operations were originally being carried out, and into gdi32, where they should be carried out. Jim Tabor had code in place which implemented them, but they needed some fixing. While not yet complete, Timo has corrected some of the errors. The two functions are for setting the dimensions of the device context for the window and viewport respectively. The window is the set of logical coordinates that one tells GDI to draw to, whereas the viewport is the set of device coordinates that the logical coordinates get translated into when an image is actually displayed on the screen. There are various ways the logical coordinates can be mapped to the device coordinates, depending on which mode you are using. Timo fixed some of the modes, but currently isotropic mode is broken. Isotropic requires the vertical and horizontal dimensions to be equal. The application that exposes the issue is actually the resource editor for Visual Basic 6.

Тимо Кройцер (Timo Kreuzer) продолжает свою работу над исправлением подсистемы Win32, в последнее время занимаясь функциями SetWindowExtEx и SetViewportExtEx. Первым шагом стало их перемещение из win32, где эти операции изначально производились, в gdi32, где они должны производиться. У Джима Табора (Jim Tabor) имелся код, реализующий это, но он требовал правки. Хотя работа ещё не завершена, Тимо уже исправил некоторые ошибки. Это две функции для установки размеров контекста устройства, по одной для окна и проекции соответственно. Окно представляет собой набор логических координат, задающих GDI регион для прорисовки, в то время, как проекция - это набор координат устройства, в которые преобразуются логические координаты при выводе изображения на экран. В зависимости от используемого режима, существуют различные способы преобразования логических координат в координаты устройства. Тимо исправил некоторые режимы, однако в данный момент изотропный режим не функционирует. Изотропия требует одинаковых размеров по вертикали и горизонтали. Приложение, в котором наиболее заметна эта проблема - редактор ресурсов в Visual Basic 6.

History of edits (Latest: evilslon 1 year, 4 months ago) §

— viewport = связь вида, может так? bz00mmer

"Проекция", по-моему, хорошая замена. bz00mmer

— неочень-то хорошая идея. viewport - набор координат устройства stampoon

— TODO: Z98 <- SetViewpo_R_tExtEx instead SetViewpo_IN_tExtEx bz00mmer

— предпоследнее предложение пересмотреть seven_ro

Jim Tabor has also been busy, trying to fix the ThreadInfo structure, which would in turn fix timers, which would then fix menus and other drawing issues, and ultimately fix the issue of needing to move the mouse to download pages in Firefox. This is an excellent example of how problems in one component can have a cascading effect and result in long standing bugs, as the Firefox issue has been present for at least a year. Another result of this bug is the menus in GIMP being drawn wrong as well as GIMP crashing under certain conditions. The problem itself involves the fact that the timers are being saved in a message queue when they are supposed to be saved on a fixed list. The address of the queue is currently in the ClientThreadInfo, but the address where the timers are supposed to be is also stored in a different location. This second location actually has the correct address, but since the address in ClientThreadInfo is wrong, a mismatch occurs which causes a fault in user mode and terminates the application.

Джим Табор, помимо того, работал над исправлением структуры ThreadInfo, пытаясь исправить работу таймеров, что позволит исправить меню, а также другие проблемы с прорисовкой, и, в конечном итоге, исправить проблему, из-за которой необходимо двигать мышью для загрузки страниц в Firefox. Это отличный пример того, как проблемы в одном компоненте способны каскадом создавать массу ошибок-долгожителей, таких, как проблема с Firefox, которая существовала не менее года. Другое следствие этой ошибки - меню в GIMP неверно отрисовывается, а работа самого GIMP при определённых действиях завершается с критической ошибкой. Проблема состоит в том, что таймеры сохраняются в очереди сообщений, хотя должны они сохраняться в фиксированном списке. Адрес очереди в настоящий момент хранится в структуре данных ClientThreadInfo, однако адрес, по которому таймеры должны находиться в действительности, сохраняется в совершенно другом месте. На самом деле это место находится по правильному адресу, а в ClientThreadInfo записан неправильный адрес, что приводит к несоответствию, вызывая ошибку в пользовательском режиме и завершение работы приложения.

History of edits (Latest: evilslon 1 year, 4 months ago) §

— Сама проблема в том, что таймеры... - закончил ревизию на этом предложении. bz00mmer

Досмотрел. Скажу честно - НЕ ПОНИМАЮ, о чём речь в двух последних предложениях. bz00mmer

— одна и та же переменная в двух адресах. но в одном месте верное значение, в другом нет.  stampoon

— последние предложения нужно тщательно продумать seven_ro

Pages: ← previous Ctrl next
1 2