<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>33822</bug_id>
          
          <creation_ts>2010-01-18 18:36:08 -0800</creation_ts>
          <short_desc>REGRESSION(r53273): TransformationMatrix.h needs to use alternative typedef for XFORM when compiling with MinGW</short_desc>
          <delta_ts>2010-01-19 13:05:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>jturcotte</cc>
    
    <cc>ossy</cc>
    
    <cc>sfalken</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>182088</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-18 18:36:08 -0800</bug_when>
    <thetext>Changeset 53273 &lt;http://trac.webkit.org/changeset/53273&gt; broke the Qt Windows build when using the MinGW compiler.

In particular, we cannot typedef/forward-declare XFORM in TransformationMatrix.h because this causes a redefinition error with the struct of the same name defined in C:\Qt\2009.05\mingw\include\wingdi.h. Also, the MinGW wingdi.h does not define the macro definition _XFORM_ (like in the Microsoft SDK), so we cannot determine whether this struct is already defined using the preprocessor.

For completeness, the following is a snippet from the build output including the error message:

.\..\JavaScriptCore\pcre&quot; [...] -o obj\debug\SVGElementFactory.o generated\SVG
ElementFactory.cpp
In file included from ..\..\..\WebCore\svg/SVGTransform.h:25,
                 from ..\..\..\WebCore\svg/SVGTransformList.h:26,
                 from ..\..\..\WebCore\svg/SVGTransformable.h:27,
                 from ..\..\..\WebCore\svg/SVGStyledTransformableElement.h:27,
                 from ..\..\..\WebCore\svg/SVGAElement.h:28,
                 from generated\SVGElementFactory.cpp:34:
..\..\..\WebCore\platform\graphics\transforms/TransformationMatrix.h:47: error:
conflicting declaration &apos;typedef struct tagXFORM XFORM&apos;
c:\qt\2009.05\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include/wingdi.h:16
34: error: &apos;XFORM&apos; has a previous declaration as &apos;typedef struct _XFORM XFORM&apos;
make[2]: *** [obj/debug/SVGElementFactory.o] Error 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182090</commentid>
    <comment_count>1</comment_count>
      <attachid>46877</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-18 18:38:33 -0800</bug_when>
    <thetext>Created attachment 46877
Patch

No functionality was changed. So, no new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182126</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-01-18 21:04:26 -0800</bug_when>
    <thetext>Why on earth would MinGW declare this type in a manner that conflicts with how the Windows API declares it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182220</commentid>
    <comment_count>3</comment_count>
      <attachid>46877</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-19 06:39:50 -0800</bug_when>
    <thetext>Comment on attachment 46877
Patch

We try to avoid including headers from other headers whenever possible, in an effort to reduce code size and compile times. Can we just insert the correct forward-declaration for MinGW as appropriate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182337</commentid>
    <comment_count>4</comment_count>
      <attachid>46929</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-19 11:27:28 -0800</bug_when>
    <thetext>Created attachment 46929
Patch

Modified the patch based on a conversation with Adam Roben on IRC today (01/19).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182365</commentid>
    <comment_count>5</comment_count>
      <attachid>46929</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-19 12:16:49 -0800</bug_when>
    <thetext>Comment on attachment 46929
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182400</commentid>
    <comment_count>6</comment_count>
      <attachid>46929</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-19 13:05:18 -0800</bug_when>
    <thetext>Comment on attachment 46929
Patch

Clearing flags on attachment: 46929

Committed r53485: &lt;http://trac.webkit.org/changeset/53485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182401</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-19 13:05:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46877</attachid>
            <date>2010-01-18 18:38:33 -0800</date>
            <delta_ts>2010-01-19 11:27:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug33822.patch</filename>
            <type>text/plain</type>
            <size>1632</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzQ0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDEtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzgyMgorCisgICAgICAgIFJF
R1JFU1NJT04ocjUzMjczKTogRml4ZXMgcmVkZWZpbml0aW9uIG9mIFhGT1JNIGVycm9yIHdoZW4g
YnVpbGRpbmcKKyAgICAgICAgV2ViS2l0IHVzaW5nIFF0IFdpbmRvd3Mgd2l0aCB0aGUgTWluR1cg
Y29tcGlsZXIuCisgCisgICAgICAgIFdlIGNhbm5vdCB0eXBlZGVmIFhGT1JNIGJlY2F1c2UgQzpc
UXRcMjAwOS4wNVxtaW5nd1xpbmNsdWRlXHdpbmdkaS5oCisgICAgICAgIGFscmVhZHkgZG9lcy4g
TW9yZW92ZXIsIHdlIGNhbm5vdCBza2lwIHRoZSB0eXBlZGVmIGZvciB0aGUgTWluR1cgY29tcGls
ZXIKKyAgICAgICAgYmVjYXVzZSBzb21lIGZpbGVzIHRoYXQgaW5jbHVkZSBUcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oIChzdWNoIGFzCisgICAgICAgIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
ZGllbnQuaCkgZG8gbm90IGluY2x1ZGUgPHdpbmRvd3MuaD4uIEhlbmNlLAorICAgICAgICB0aGV5
IGNhbm5vdCByZXNvbHZlIFhGT1JNIGluIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvciBY
Rk9STSgpLgorICAgICAgICBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gaW5jbHVkZSA8d2luZG93cy5o
Pi4KKworICAgICAgICBObyBmdW5jdGlvbmFsaXR5IHdhcyBjaGFuZ2VkLiBTbywgbm8gbmV3IHRl
c3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oOgorCiAyMDEwLTAxLTE4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oCShyZXZpc2lvbiA1MzQxOSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw3ICs0NCw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFU
KSAmJiBPUyhXSU5ET1dTKSkgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhXSU5ET1dTKSkKLXR5cGVk
ZWYgc3RydWN0IHRhZ1hGT1JNIFhGT1JNOworI2luY2x1ZGUgPHdpbmRvd3MuaD4gLy8gZm9yIFhG
T1JNLgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46929</attachid>
            <date>2010-01-19 11:27:28 -0800</date>
            <delta_ts>2010-01-19 13:05:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug33822_1.patch</filename>
            <type>text/plain</type>
            <size>1433</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzQ0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDEtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzgyMgorCisgICAgICAgIFJF
R1JFU1NJT04ocjUzMjczKTogRml4ZXMgcmVkZWZpbml0aW9uIG9mIFhGT1JNIGVycm9yIHdoZW4g
YnVpbGRpbmcKKyAgICAgICAgV2ViS2l0IHVzaW5nIFF0IFdpbmRvd3Mgd2l0aCB0aGUgTWluR1cg
Y29tcGlsZXIuCisgCisgICAgICAgIE5vdGUsIE1pbkdXIGhhcyBhIHNsaWdodGx5IGRpZmZlcmVu
dCBkZWNsYXJhdGlvbiBvZiB0aGUgc3RydWN0IFhGT1JNCisgICAgICAgIGZyb20gdGhhdCBpbiB0
aGUgTWljcm9zb2Z0IFNESy4gU28sIHdlIG5lZWQgdG8gc3Vic3RpdHV0ZSBhbiBhbHRlcm5hdGl2
ZQorICAgICAgICB0eXBlZGVmIGZvciBYRk9STSB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbkdXLgor
CisgICAgICAgIE5vIGZ1bmN0aW9uYWxpdHkgd2FzIGNoYW5nZWQuIFNvLCBubyBuZXcgdGVzdHMu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9u
TWF0cml4Lmg6CisKIDIwMTAtMDEtMTggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9u
TWF0cml4LmgJKHJldmlzaW9uIDUzNDE5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDgg
KzQ0LDEyIEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAm
JiBPUyhXSU5ET1dTKSkgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhXSU5ET1dTKSkKKyNpZiBDT01Q
SUxFUihNSU5HVykKK3R5cGVkZWYgc3RydWN0IF9YRk9STSBYRk9STTsKKyNlbHNlCiB0eXBlZGVm
IHN0cnVjdCB0YWdYRk9STSBYRk9STTsKICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>