2 errors with gcc3.3 - kdom/core/NodeImpl.h This file is included by KWQSlot.mm before the macro #define id ID_HACK in DrawDocument.mm This might be a bug of gcc4.0 - WebCore+SVG/DrawView.mm Many "may not respond to ..." warnings because DrawViewPrivate methods are not declared in the @interface. Build fails as we treat warnings as errors. The definitions of those methods are before their use (in the same file), so I don't know if there should be a warning ...
Created attachment 4257 [details] Proposed patch
Comment on attachment 4257 [details] Proposed patch The first change doesn't need to be in an #if block, since adding the forward defnitions there probably should have been done in the first place (and certainly doesn't hurt gcc 4.0). For the second change you should instead put the #define id ID_HACK block in the .mm file which is actually including this NodeImpl.h (likely through a long chain of other includes). See how this is done in DrawDocument.mm. You won't need to put them inside #if __GNUC__ <4 blocks then. Please correct those two and post another patch. Thanks!
Now that I'm reading your comments: - kdom/core/NodeImpl.h This file is included by KWQSlot.mm before the macro #define id ID_HACK in DrawDocument.mm This might be a bug of gcc4.0 Just add a id -> ID_HACK around the include in KWQSlot.mm (inside the SVG_SUPPORT block).
Created attachment 4274 [details] modified patch Put the #define id ID_HACK in KWQSlot.mm, not anymore in NodeImpl.h Put the #define id ID_HACK in DrawCanvasItem.mm. #undef id was needed in KWQApplication.h for other includes from this file.
I'm still not convinced the qapplication.h change was necessary. If it is, it shouldn't be SVG specific. Can you explain to me why?
Comment on attachment 4274 [details] modified patch We talked about an alternative solution to the KWQApplication.h problem (by removing the qapplication.h include from RenderStyle.h). Otherwise the patch looks good. I look forward to landing the final version!
Created attachment 4302 [details] modified patch Like eric suggested, added #import <qapplication.h> before the #define id ID_HACK macro in DrawCanvasItem.mm
Comment on attachment 4302 [details] modified patch Looks great! r=me