Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 1129 - 1Cv77: Переключение между окнами открытыми внутри 1С не соответствует поведению в Windows   Make a simular bug
Summary: 1Cv77: Переключение между окнами открытыми внутри 1С не соответствует поведен...
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Окна / фокус / перерисовка (show other bugs)
Version: 2.1
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: Сергей Гуральник
QA Contact: Svetlana Zhukova
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 777 2409 8991
  Show dependency treegraph
 
In work:
Reported: 2008-02-05 09:31 MSK by Andrey Chichak
Modified: 2013-06-10 08:27 MSK (History)
4 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Chichak 2008-02-05 09:31:03 MSK
При открытии трех окон (журналов, отчетов, справочников и т.д.) 1С позволяет переключаться между ними комбинациями: Ctrl-Tab - вперед, Ctrl-Shift-Tab - назад по списку окон.
Ctrl-Tab - работает правильно.
Ctrl-Shift-Tab - переключает на одно окно назад, следущее нажатие - возврат к предыдущему окну, т.е. нажатие этой комбинации меняет окна последнее и предпоследнее. Под MSwindows - переключает правильно ... порядок обратного переключения (с нажатой Shift) полностью соответствует порядку прямого, только задом наперед.
Прочитал написанное и сам ничего не понял :о))
Comment 1 Анатолий Лютин 2008-03-25 22:18:55 MSK
Проверил, именно так всё и есть.
В windows - мы идёт по списку назад.
В wine - прыгаем с предыдущего на текущее и наоборот, т.е. дальше чем за два окна назад выбраться горячими клавишами невозможно.
Comment 2 Анатолий Лютин 2008-04-02 19:29:51 MSD
Мой патч на mdi на это не влияет.
Comment 3 Анатолий Лютин 2008-04-02 22:26:09 MSD
Посмотрел код wine - неправильно реализовано определение предыдущего окна в MDI_GetWindow. Напишу тест и исправление.
Comment 4 Илья Шпигорь 2008-08-29 16:37:08 MSD
Только все должно быть наоборот (по крайней мере так в windows):
 Ctrl + Tab - назад, а Ctrl + Tab + Shift вперед.
Направление назад, имеется в виду, - к ранее созданному окну.
Comment 5 Илья Шпигорь 2008-09-03 16:55:43 MSD
Сделал и выложил патч. 

Проблема была в процедуре MDI_GetWindow. Для получения списка дочерних MDI окон использовалась функция WIN_ListChildren, которая ставила активное окно всегда первым в списке. Вместо нее теперь для получения этого списка используется поле структуры MDICLIENTINFO, указывающее на массив дочерних окон. 
Порядок окон в этом массиве не изменяется при смене активного окна.
Comment 6 Илья Шпигорь 2008-09-04 12:56:15 MSD
Слегка поправил патч. Выложил TRY 2.

Теперь благодаря присвоению:
list = clientInfo->child
Значительно меньше изменений в коде функции.
Comment 7 Илья Шпигорь 2008-09-08 13:30:53 MSD
Думаю багу можно закрыть.
Comment 8 Денис Баранов 2008-09-08 17:33:45 MSD
Ну пока закрывать рано, т.к. патч в сборку еще не включили.
Поэтому ждем новой сборки.
Comment 9 Денис Баранов 2008-10-13 18:38:18 MSD
Проверил на новой сборке, не воспоризвелось.
Comment 12 Svetlana Zhukova 2013-06-10 08:27:34 MSK
Странно,бутылки стали пропадать все чаще...
$ swine -h eter-2.1 1c77/1c77
Error: '1c77/1c77' bottle does NOT exist, run with -c key for create
Создала новую одноименную.
Присутствует:
* Пт июн 07 2013 Etersoft Builder <builder@etersoft.ru> 2.1.2-alt17
- user32: Bring reference MDI child to bottom when switching to next. (eterbug #1129) (cherry picked from commit e90418d31cc6fd299fed2afa972cc82433cf33db)
WINE@Etersoft SQL 2.1.2/2.1.0-eter17/3
Проблемы нет.