[Bug 4436] Storage32 regression problem: ECAD app 'Easy-PC' is unable to create new project/design

Wine Bugs wine-bugs at winehq.org
Mon Feb 13 21:17:10 CST 2006


http://bugs.winehq.org/show_bug.cgi?id=4436


mike at codeweavers.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1




------- Additional Comments From mike at codeweavers.com  2006-13-02 21:17 -------

I think in IStorage_DeleteAll() you'll need to mark the stream implementations
themselves as no longer having a parent, as they'll exist until they're Release'd.

    payload->parentStorage = NULL;

Then you'll probably want to check for that case through the StgStreamImpl code
so that any functions trying to use the IStream implementation after its parent
storage is released will fail rather than crash.  (either that or show that it
will crash on Windows if I release the parent storage then try use the streams)

For the code itself:

* lists - there's a "standard" Wine list implementation in include/wine/list.h.
 You don't even need to allocate memory for list entries, just make a "struct
list  entry" a member of StgStreamImpl, and a "struct list stHead" a member of
StorageBaseImpl.  Make sure to list_init( &stg->stHead ), then you can
"list_add_tail( &stg->stHead, &stm->entry );", etc.

* since this file was written with 2 space indentation, please preserve it, and
the general style of the original author.  1 coding style is easier to read than
10 mixed coding styles, even if the 1 style isn't your favourite.

* try to avoid whitespace changes


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list