Received: from pecan.cc.columbia.edu (IDENT:cu41754@pecan.cc.columbia.edu [128.59.59.178]) by krbdev.mit.edu (8.9.3p2) with ESMTP id IAA29111; Tue, 6 Jul 2004 08:52:53 -0400 (EDT) Received: from [192.168.1.10] (24-193-46-55.nyc.rr.com [24.193.46.55]) (user=jaltman mech=PLAIN bits=0) by pecan.cc.columbia.edu (8.12.11/8.12.11) with ESMTP id i66CqqgS018637 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Tue, 6 Jul 2004 08:52:53 -0400 (EDT) Message-Id: <40EAA0A0.8030701@mit.edu> Date: Tue, 06 Jul 2004 08:52:48 -0400 From: Jeffrey Altman Organization: Massachusetts Institute of Technology User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040608 X-Accept-Language: en-us, en MIME-Version: 1.0 Cc: rt-kfw-comment@krbdev.mit.edu Subject: Re: [krbdev.mit.edu #2622] Problem with LSH_DLGINFO_EX_V1_SZ References: <88C8B14D74194F409F0E4AEC20DF228413476F@MTLFS1.montreal.hcl.com> In-Reply-To: <88C8B14D74194F409F0E4AEC20DF228413476F@MTLFS1.montreal.hcl.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-No-Spam-Score: Local X-Scanned-BY: MIMEDefang 2.40 RT-Send-Cc: X-RT-Original-Encoding: iso-8859-1 Content-Length: 1422 The purpose of the size is for the DLL to know how many of the fields are valid. Clearly there is a bug in 2.6.0 -> 2.6.4 Beta 2. The bug is not in the header but in the Leash32.DLL. If the old size is detected, the new fields are not used. If the current size is detected, they are used. Why do you believe this is a problem when user's specify LSH_DLGINFO_EX dlgInfoEx; dlgInfoEx.size = sizeof( dlgInfoEx ); as they should be doing? Pierre Goyette wrote: >Jeff, > >Most windows application do something like: > >LSH_DLGINFO_EX dlgInfoEx; > >dlgInfoEx.size = sizeof( dlgInfoEx ); > >I realize that this is the size of the old structure (if you are using >the old SDK). The problem is, if you want an application to work with >2.5 & 2.6.x & future versions, it is not possible to pass a correct >value and not get an error. If you pass the real old structure size, >this will work with 2.5 and fail with 2.6.x. If you pass the new 2.6 >structure size, it will fail with 2.5. If you pass the definition size, >it will fail with 2.5 and work with 2.6. > >The only way for an application to programmatically work properly is to >get the version of LEASHW32.DLL and check if it is 2.6 or higher and >then pass the new dialog structure size. This is pretty ugly to have to >do this. Unless you have another way to determine the version and know >what dialog structure size to pass? > >Thanks, > >Pierre > >