[Google-Desktop-Developer] Re: IGoogleDesktopDisplaySite::CloseDetailsView returns E_INVALIDARG
I handle WM_DESTROY message in both plug-in window and detail window.
When the detail window is opened and try to remove plug-in at this
time, the following happened:
1) WM_DESTROY was sent to plug-in window. The detail window keeps
opened and cannot close it by calling CloseDetailWindow.
2) DllCanUnloadNow was called. Because detail window is keep reference
count, it returns S_FALSE.
3) WM_DESTROY was sent to detail window.
4) If try to close Sidebar at this time, DllCanUnloadNow will be called
again and the reference count is 0 now which means all objects have
been freed successfully.
So the detail window was destroyed AFTER the plug-in window (according
to the order of WM_DESTROY) and DllCanUnloadNow was called in between.
I don't know whether this is the bug in GDS of closing plug-in.
I didn't implement IGoogleDesktopDisplayContentItemHandler. But what
I will do in it would be same like calling CloseDetailWindow.
0 Comments:
Yorum Gönder
<< Home