Hi Alessandro, (I found your message ...)
On 2010-06-20 14:04, Alessandro Piras wrote: > The wingcc driver is using obsolete constants: > GCL_HCURSOR > GWL_USERDATA > > that should be replaced by > GCLP_HCURSOR > GWLP_USERDATA > > as in http://msdn.microsoft.com/en-us/library/aa383663.aspx > > I tried to fix it replacing the constants, but It does not work well: > x01c.exe starts, it plots the graphics, and after half a second the > window "the program stopped working appears". > > ... > if ( pls ) > { > dev = (wingcc_Dev *) pls->dev; // This is the offending line (256) > > } > ... > > No idea what's going on, just reporting it :-) I am just guessing here, but the code we are looking at is: pls = (PLStream *) GetWindowLong( hwnd, GWL_USERDATA ); if ( pls ) { dev = (wingcc_Dev *) pls->dev; } Could it be that on Windows 64 we need a _different_ function or functions or macros? This depends crucially on the interpretation of "long". IIRC, long integers are long enough to store void pointers. On 64-bits platforms that means a long is 64 bits, but do we indeed retrieve 64 bits or do we need to use a different function (pair of functions)? A check could be to: - Write the value of pls as stored in SetWindowLong() to the screen as a pointer - Write the value of pls as retrievd from GetWindowLong() to the screen as a pointer. The two should be the same. If not, we know that we have to look for a different set of functions. Regards, Arjen ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel