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

Отработанное время:
Продуктивное время:
Bug 5479 - 1с60: Нет меню в ячейке отчёта   Make a simular bug
Summary: 1с60: Нет меню в ячейке отчёта
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Окна / фокус / перерисовка (show other bugs)
Version: 1.0.12
Hardware: PC All
: P4 minor
Target Milestone: ---
Assignee: Илья Шпигорь
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 5395
  Show dependency treegraph
 
In work:
Reported: 2010-04-16 14:39 MSD by Andrey Vusik
Modified: 2010-12-10 17:27 MSK (History)
2 users (show)

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


Attachments
Скриншот (71.23 KB, image/png)
2010-11-18 03:58 MSK, Andrey Vusik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Vusik 2010-04-16 14:39:33 MSD
Бутылка 1c60/1c60
Журнал операций - Ввести документ- Накладная - Документ
Смотреть скриншот: по нажатии по ячейке правой кнопкой  (либо f2) должно появляться меню редактора поля.
Comment 1 Andrey Vusik 2010-04-16 14:40:17 MSD
Created attachment 1653 [details]
Скриншот
Comment 2 Andrey Vusik 2010-04-16 14:42:22 MSD
> меню редактора поля.
> 
Поправка:
Просто редактор поля.
Comment 3 Andrey Vusik 2010-04-16 18:08:41 MSD
В wwr 1.0.11 работает.
Comment 4 Andrey Vusik 2010-04-16 18:28:58 MSD
Недопроверил...
Сломали в 1.0.12-eter4-eter3
В 1.0.12-eter3-eter3 всё работает.

Кажется, проблема в фокусе.
Comment 5 Илья Шпигорь 2010-04-27 15:27:29 MSD
> Смотреть скриншот: по нажатии по ячейке
> правой кнопкой  (либо f2) должно появляться
> меню редактора поля.

Небольшая поправка. Из заявки 13899:

> невозможно вызвать так называемую "палитру инструментов",
> которая возникает при двойном нажатии на редактируемое полу в виде
> дополнительного окна 

Это меню должно появляться по F2 или двойному нажатию, а не по клику правой кнопкой мыши.

Comment 6 Илья Шпигорь 2010-04-27 16:46:14 MSD
Сломалось из-за коммита:

commit 211336eb91bd3f5b6fdae48b38531a74017e49db
Author: Ilya Shpigor <shpigor@etersoft.ru>
Date:   Sat Feb 27 15:21:04 2010 +0300

    user32: Process page fault exception on the WINPROC_wrapper call through __TRY block (eterbug #2085)
Comment 7 Илья Шпигорь 2010-04-27 17:20:36 MSD
Запуск 1с60 в монопольном режиме:
wine 1sbw.exe /M

Может понадобиться если некорректно завершить работу приложения.
Comment 8 Илья Шпигорь 2010-04-28 12:51:25 MSD
Выложил патч.

Проблема в том, что WINPROC_wrapper генерирует исключение page fault в 1с60 при вызове меню ячейки. Если обрабатывать это исключение в блоке __TRY - меню не отображается. Если не обрабатывать - приложение не падает и меню корректно создается.

Это связано либо с ошибкой в реализации блока __TRY в wine, либо исключение обрабатывается где-то еще. Если обрабатывается где-то еще, то не понятно почему возникает бага #2085, в которой при этом же page fault exception приложение падает.

Решение заключается в дополнительной проверке. Если произошло исключение, то с помощью ReadProcessMemory проверяем - доступна ли для чтения виртуальная память, при обращении к которой произошло исключение. Если да вызываем WINPROC_wrapper без обработки исключения.
Comment 9 Marat Sharipov 2010-10-30 15:57:01 MSD
Все работает проверенно в бутылке 1c60/1c60
Принята