Many Issues Fixed

jgmdev
Created by: jgmdev
Date: 04/23/2012 @ 12:47:06 am
Views: 643

After almost 3 months of inactivity, today I committed some fixes to the code to suppress the megalithic compilation warnings caused by the usage of #define element "string" and "string" on function calls since older version of wxPHP. These  practices has been deprecated from c++ while completely legal on plain c, but since this extension needs the c++ compiler in order to bind the wxWidgets library, adjustments were needed.

Also I fixed the type casting errors that I introduced to the code after adding newer features and migrating the code to use wxWidgets 2.9.x branch. As I mentioned one post before, there is a tag on doxygen xml output named <array> for function parameters declared as type varname[] so I fixed the xml_parser (or doxygen documentation data extractor) to correctly retrieve the <array> tag in order to generate the code correctly, this also caused a lot of compilation errors, but now is fixed.

This new revision that I committed is based on the svn trunk of wxWidgets revision 71250 since it has some fixes needed for wxPHP in order to compile on mac.

With these fixes the code should be able to compile on windows but I haven't tested. IIRC there is a macro with the same name defined on PHP win32 and wxMSW which also caused compilation problems on the platform. This macro wasn't defined before on both PHP and wxWidgets but now both decided to use it :S. By the way, I forgot the name of the macro :)

I thought that after fixing the compilation errors the segmentation fault that occurs when loading the wxwidgets.dll/so extension from the php.ini would be fixed but that's not the case. The strange thing is that loading the extension using the PHP dl function works perfectly fine, but something is causing PHP to crash when loading the extension on engine startup and needs to be debugged, unfortunately I don't have any experience debugging a PHP extension so my best bet is to test removing parts of the code until I fine the culprit. Besides that the extension is pretty functional so far :)

Well, thats all for now, until the next one.

Comments