Bug 2203

Summary: Неверный подсчёт ссылок в WMP
Product: Wine School Reporter: Константин Кондратюк <kondratyuk>
Component: КМ ШколаAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P4 CC: baraka, lav
Version: 0.9.5   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 2120, 1528    

Description Константин Кондратюк 2008-08-01 10:31:09 MSD
При создании объектов WMP неверно считаются ссылки, вследствие этого GLOBAL_REF всегда больше нуля (не может выгрузиться библиотека). К тому же в какой-то момент приводит к падениям из-за обращения по неправильным указателям.

На данный момент падение воспроизводится сразу при выходе из только что загруженного модуля.
Comment 1 Константин Кондратюк 2008-08-01 10:58:57 MSD
Первая ошибка - на этапе создания объекта вызывается лишний AddRef при создании поля client.

Вторая ошибка - в методе IConnectionPointContainer_FindConnectionPoint не вызывается AddRef, а должен.
Comment 2 Константин Кондратюк 2008-08-01 11:04:51 MSD
Следующая проблема - недостаток вызовов Release внутри DispatchEx_Invoke. Исправил для всего метода.
Comment 3 Константин Кондратюк 2008-08-01 12:37:13 MSD
Исправлено, ссылки считаются корректно.

commit 3941c3f083da52da98a302eff6cbf1e33c96a388
Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru>
Date:   Fri Aug 1 12:34:33 2008 +0400

    wmp: Correct REFs balance (fix eterbug #2203)