realbasic-nug
[Top] [All Lists]

Re: Two Scary Mac Bugs (just in time for Halloween)

To: REALbasic NUG <realbasic-nug@lists.realsoftware.com>
Subject: Re: Two Scary Mac Bugs (just in time for Halloween)
From: Norman Palardy <npalardy@great-white-software.com>
Date: Fri, 31 Oct 2008 12:57:35 -0600
Authentication-results: mx.google.com; spf=neutral (google.com: 74.124.194.228 is neither permitted nor denied by best guess record for domain of realbasic-nug-bounces@lists.realsoftware.com) smtp.mail=realbasic-nug-bounces@lists.realsoftware.com
Delivered-to: listarchive@realsoftware.com
In-reply-to: <6055FFFB-04FC-4C22-9A35-53F60DFC6158@declareSub.com>
References: <C5308623.696E4%lists@redcort.com> <6055FFFB-04FC-4C22-9A35-53F60DFC6158@declareSub.com>
Reply-to: REALbasic NUG <realbasic-nug@lists.realsoftware.com>
Sender: realbasic-nug-bounces@lists.realsoftware.com

On 31-Oct-08, at 12:11 PM, Charles Yeomans wrote:


On Oct 31, 2008, at 12:53 PM, Keith DeLong wrote:

Both of these bugs are consistently reproducible in Mac OS X10.4 but not
10.5:

1. If a sheet is open on a window, attempting to modally open a subsequent
dialog as a sheet silently fails.

In our case we are confirming save changes when closing the sheet. No
problem in 10.5 or Win32 builds. OS X 10.4 builds silently miss the dialog, allowing the code to continues and result in a NOE when testing the results
of the dialog.


2. Looking up an Integer keys in dictionaries using Int64 values fail on OS
x 10.4:

Dim i as integer = 2
myDictionary.Value( i ) = someString


Later on...
MyString = myDictionary.lookup( myField.text.Clong, "" )

In 10.4 myString = ""
On 10.5 and Win32 myString = someString

However, this works on all 3 platforms:

Dim i as Integer = myField.text.CLong
MyString = myDictionary.lookup( i, "" )

Hope this saves someone else some hassles,


I reported a feedback like this in July.

*********
Dictionary lookup of 32-bit integer keys using a 64-bit integer returns different result in PPC v. Intel.

Steps to Reproduce:
 dim X as Int32 = 43
 dim Y as Int64 = 43

 dim d as new Dictionary
 d.Value(X) = true
 dim b as Boolean = d.Lookup(Y, false)

b is true in Intel builds, but false in PPC builds.
*********


Actually this is not a bug. The internal hash of the two values is different. Not unlike trying to use strings with different encodings fails for the same reason.
So the hash of "Hello" in US ASCII is different than "Hello" in UTF16.
Int32 hashes and int64 hashes are not the same even if they hold the same value


_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>