Bug 1943

Summary: Не выйти из просмотра слайдов (КМ-Школа)
Product: WINE@Etersoft Reporter: Денис Баранов <baraka>
Component: Media PlayerAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: lav, night
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 1844    
Bug Blocks: 1528, 1964    

Description Денис Баранов 2008-06-18 17:50:33 MSD
iwmpplayer.c:WMPPlayer_Invoke
iwmpplayer.c:WMPCore_Invoke call to 1068 2
iwmpplayer.c:WMPCore_Invoke call to undefined function
iwmpplayer.c:WMPPlayer_Invoke call to undefined function

Учетная запись учитель -> Индивидуальный портфель

При нажатиии на кнопку выйти из просмотра слайдов.
Comment 1 Константин Кондратюк 2008-06-18 17:55:42 MSD
ОК, спасибо.
Принято.
Comment 2 Константин Кондратюк 2008-06-18 18:26:07 MSD
Как и ожидалось, абсолютно неизвестный нам вызов
Определение константы должно находиться примерно в блоке "IWMPMetadata* interfaces"
DISPID_WMPMETADATA_BASE - 1050
Дальше есть 1051,52,53,54,55,56,100,101,102...

Что делать с 1068 - непонятно.
Comment 3 Константин Кондратюк 2008-06-19 09:43:37 MSD
Функция без входных параметров, выходные неизвестны.
Сделал заглушку, просто возвращающую S_OK из Invoke.

Программа тут же пытается создать интерфейс 22D6F311-B0F6-11D0-94AB-0080C74C7E95 - IMediaPlayer. Никакого описания этого интерфейса в MSDN нет.
Comment 4 Константин Кондратюк 2008-06-20 09:11:12 MSD
Реализовал IMediaPlayer, но это ничего не даёт. Видимо, всё-таки Invoke этого неизвестного метода должен что-то делать и возвращать (тем более, что это PROPERTYGET...)
Comment 5 Константин Кондратюк 2008-06-20 13:56:15 MSD
"
1068 это 
    property PlayState: TOleEnum index 1068 read GetTOleEnumProp;
"

Сделал вызов get_playState через 1068. Ничего не изменилось.
Comment 6 Константин Кондратюк 2008-06-23 11:42:44 MSD
1068 - это свой get_playState для IMediaPlayer.
Для того, чтобы всё закрылось, состояние IMediaPlayer'а должно быть mpStopped или mpClosed (0 или 6).
Попробовал вернуть 0 на вызов Invoke 1068 - кнопка сработала.
Comment 7 Денис Баранов 2008-06-23 15:05:25 MSD
Проблнма больше не воспроизвелась.
Comment 8 Константин Кондратюк 2008-06-23 15:37:42 MSD
Сделал патч. Можно закрыть багу после появления его в сборке.
Comment 9 Andrey Vusik 2008-07-12 22:26:01 MSD
Работает. wine-school-0.9.4
Закрываю.
Comment 10 Andrey Vusik 2008-07-13 15:05:54 MSD
сборка 0.9.4-alt0.M40.1