The wxFont objects used in FontPlatformDataWx.h and FontPlatformDataWx.cpp are reference counted value objects meant to be used on the stack. Using a pointer to store them in FontPlatformData objects is causing sporadic crashes.
Created attachment 18869 [details] FontPlatformData uses wxFont as a value object Fixes FontPlatformData issues. Reference counting of wxFont objects happens correctly now because they are stored as value objects. An enum is used to maintain the "uninitialized," "deleted," and "valid" states since all three are used by a HashTable holding FontPlatformData objects. computeHash now uses a hash of the string returned by wxFont::GetNativeInfoDesc, which uniquely identifies a wxFont and all its attributes. Additionally, a missing delete in ImageWx.cpp is added.
Comment on attachment 18869 [details] FontPlatformData uses wxFont as a value object Looks good. This patch does resolve crashes I've been seeing related to fonts on my machine as well.
Landed in r29940. THanks!