c++.wxwindows - jpegs
- chris elliott (15/15) Sep 21 2003 On wx-dev Mailing list Daniel walter wrote:
- Arjan Knepper (14/35) Oct 02 2003 The problem is the structsize of jpeg_decompress_struct which differ
- chris elliott (3/51) Oct 02 2003 Thanks for finding this- I have fixed it in the CVS code
On wx-dev Mailing list Daniel walter wrote: In jmorecfg.h boolean has a typedef as int which prevents jpegs from loading. If I change this to unsigned char it works. I am not sure exactly where this change should be made. It would be nice to get boolean from the compiler to be compatible with C++ or maybe not use boolean in C code. I am using Code Warrior for windows if this needs to be platform specific. This problem was quite a pain to find thougth as the first symptom was a seg fault and after digging deeper the next thing I got was struct sizes don't match, so it would be nice to prevent people porting to other compilers from finding this one the hard way. ----------- I see the same bug with the image sample on loading the jpeg image I tried debugging it but got in a tangle chris
Sep 21 2003
The problem is the structsize of jpeg_decompress_struct which differ between the jpeg-lib and wxwindows-lib. (464 vs 432) To solve this change the file: %WXIR%\src\jpeg\jconfig.h and add the next define to line 5: -----------------------<snip>----------------------------------------- VVVVVVVVVVVVVVVVVVVV #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__DMC__) #include "jconfig.vc" #else -----------------------<snip>----------------------------------------- recompile the jpeglib and you should be fine. Arjan Knepper chris elliott wrote:On wx-dev Mailing list Daniel walter wrote: In jmorecfg.h boolean has a typedef as int which prevents jpegs from loading. If I change this to unsigned char it works. I am not sure exactly where this change should be made. It would be nice to get boolean from the compiler to be compatible with C++ or maybe not use boolean in C code. I am using Code Warrior for windows if this needs to be platform specific. This problem was quite a pain to find thougth as the first symptom was a seg fault and after digging deeper the next thing I got was struct sizes don't match, so it would be nice to prevent people porting to other compilers from finding this one the hard way. ----------- I see the same bug with the image sample on loading the jpeg image I tried debugging it but got in a tangle chris
Oct 02 2003
Thanks for finding this- I have fixed it in the CVS code chris Arjan Knepper wrote:The problem is the structsize of jpeg_decompress_struct which differ between the jpeg-lib and wxwindows-lib. (464 vs 432) To solve this change the file: %WXIR%\src\jpeg\jconfig.h and add the next define to line 5: -----------------------<snip>----------------------------------------- VVVVVVVVVVVVVVVVVVVV #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__DMC__) #include "jconfig.vc" #else -----------------------<snip>----------------------------------------- recompile the jpeglib and you should be fine. Arjan Knepper chris elliott wrote:On wx-dev Mailing list Daniel walter wrote: In jmorecfg.h boolean has a typedef as int which prevents jpegs from loading. If I change this to unsigned char it works. I am not sure exactly where this change should be made. It would be nice to get boolean from the compiler to be compatible with C++ or maybe not use boolean in C code. I am using Code Warrior for windows if this needs to be platform specific. This problem was quite a pain to find thougth as the first symptom was a seg fault and after digging deeper the next thing I got was struct sizes don't match, so it would be nice to prevent people porting to other compilers from finding this one the hard way. ----------- I see the same bug with the image sample on loading the jpeg image I tried debugging it but got in a tangle chris
Oct 02 2003