[2/2] gdiplus: Implement GdipBeginContainer2 and GdipEndContainer

Nikolay Sivov bunglehead at gmail.com
Fri Jul 3 10:31:44 CDT 2009


Vincent Povirk wrote:
> On Fri, Jul 3, 2009 at 10:00 AM, Andrew
> Eikum<andrew at brightnightgames.com> wrote:
>   
>> I agree that the behavior of the container IDs doesn't match native.
>>  However, do we really care to duplicate that behavior?  I can't see any
>> documentation in MSDN that says container IDs must be unique across either
>> graphics objects or within a single graphics object.
>>
>> I can't imagine any application depending on the uniqueness of container
>> IDs; if they try to pass a container for graphics1 to graphics2, nothing
>> happens, so there's no behavior to depend on.  Ditto for invalid or
>> already-used containers.  The only scenario I can think of where the
>> uniqueness of container IDs would be a dependency would be an application
>> error calling EndContainer() with invalid values.  I don't know if it's
>> worth the effort of making a handle table and whatnot to work around an
>> application glitch that might not even exist.
>>
>> So, I would argue against the validity of the test you quote.  Why should
>> the same value not be returned twice?
>>     
>
> +1
>
> If an application does need the ID's to be more like Windows, the code
> can be changed to account for it. We don't have to match every quirk
> of Windows the first time something is implemented.
>   
Exactly. I'm not talking about that. Allocating handle on Begin..() or 
Save..() and releasing it on
End...() or Restore...() should be enough. After that we will probably 
never want to change that
but for a first time it's necessary I think.




More information about the wine-devel mailing list