RESOLVED FIXED 89902
W_LPARAM_DEF WPARAM and LPARAM are incorrectly defined for x64
https://bugs.webkit.org/show_bug.cgi?id=89902
Summary WPARAM and LPARAM are incorrectly defined for x64
Alex Christensen
Reported 2012-06-25 13:02:29 PDT
There are 5 places in Source/WebCore/platform where WPARAM and LPARAM are defined to be unsigned and long, respectively. This happens to be correct when building for an x86 machine, but this incorrectly redefines the types for x64 machines. Visual Studio's BaseTsd.h uses #if defined(_WIN64) to change these types to 64-bit unsigned and signed integers, so if we did the same it would not cause compiler errors.
Attachments
Patch (3.70 KB, patch)
2012-06-25 13:20 PDT, Alex Christensen
no flags
Patch (873 bytes, patch)
2012-06-25 16:49 PDT, Alex Christensen
no flags
Patch (3.66 KB, patch)
2012-07-23 08:13 PDT, Alex Christensen
no flags
Patch (5.69 KB, patch)
2012-08-13 09:32 PDT, Alex Christensen
no flags
Patch (5.69 KB, patch)
2012-08-13 09:38 PDT, Alex Christensen
no flags
Patch (4.82 KB, patch)
2012-08-13 09:48 PDT, Alex Christensen
no flags
Patch (4.81 KB, patch)
2012-08-13 09:54 PDT, Alex Christensen
no flags
Patch (4.35 KB, patch)
2012-08-13 10:38 PDT, Alex Christensen
no flags
Patch (4.38 KB, patch)
2012-08-13 11:41 PDT, Alex Christensen
no flags
Alex Christensen
Comment 1 2012-06-25 13:20:22 PDT
WebKit Review Bot
Comment 2 2012-06-25 13:23:21 PDT
Attachment 149342 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1 Source/WebCore/ChangeLog:8: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] Total errors found: 1 in 6 files If any of these errors are false positives, please file a bug against check-webkit-style.
Alex Christensen
Comment 3 2012-06-25 16:49:30 PDT
Ryosuke Niwa
Comment 4 2012-07-19 16:27:45 PDT
Comment on attachment 149393 [details] Patch You're missing the change.
Alex Christensen
Comment 5 2012-07-23 08:13:59 PDT
Alex Christensen
Comment 6 2012-07-23 10:05:47 PDT
no wonder it passed all the tests :) (In reply to comment #4) > (From update of attachment 149393 [details]) > You're missing the change.
Alex Christensen
Comment 7 2012-07-23 13:17:39 PDT
I have a new patch with the changes. Could someone review it?
Patrick R. Gansterer
Comment 8 2012-08-06 14:48:37 PDT
Please don't do copy&past programming. It's already not the best to have the same typdefs three times. So it's a good time to move them in their own header.
Alexis Menard (darktears)
Comment 9 2012-08-06 15:44:25 PDT
Comment on attachment 153801 [details] Patch Would it be possible to refactor this a bit more and add this insane copy pasting in some common headers (platform.h for example?)
Patrick R. Gansterer
Comment 10 2012-08-06 15:45:55 PDT
(In reply to comment #9) > (From update of attachment 153801 [details]) > Would it be possible to refactor this a bit more and add this insane copy pasting in some common headers (platform.h for example?) IMHO Platform.h is too general. WindowsExtras.h should be ok for this.
Alexis Menard (darktears)
Comment 11 2012-08-06 15:50:20 PDT
(In reply to comment #10) > (In reply to comment #9) > > (From update of attachment 153801 [details] [details]) > > Would it be possible to refactor this a bit more and add this insane copy pasting in some common headers (platform.h for example?) > IMHO Platform.h is too general. WindowsExtras.h should be ok for this. (In reply to comment #10) > (In reply to comment #9) > > (From update of attachment 153801 [details] [details]) > > Would it be possible to refactor this a bit more and add this insane copy pasting in some common headers (platform.h for example?) > IMHO Platform.h is too general. WindowsExtras.h should be ok for this. Indeed. Maybe we could even refactor the other copy/pasted defines which are not part of this patch to clean that up. (The bug could be renamed or a new one could be created to move later on the other defines).
Alex Christensen
Comment 12 2012-08-13 09:32:36 PDT
Alex Christensen
Comment 13 2012-08-13 09:35:19 PDT
Now the files include WindowsExtras.h, which includes <windows.h> if PLATFORM(WIN) is true, which includes the correct definitions. No duplicate definitions!
WebKit Review Bot
Comment 14 2012-08-13 09:36:14 PDT
Attachment 158017 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1 Source/WebCore/platform/win/WindowsExtras.h:58: Should have a space between // and comment [whitespace/comments] [4] Total errors found: 1 in 8 files If any of these errors are false positives, please file a bug against check-webkit-style.
Alex Christensen
Comment 15 2012-08-13 09:38:57 PDT
Alex Christensen
Comment 16 2012-08-13 09:48:08 PDT
Alex Christensen
Comment 17 2012-08-13 09:54:31 PDT
Alex Christensen
Comment 18 2012-08-13 10:38:16 PDT
Alex Christensen
Comment 19 2012-08-13 10:39:53 PDT
Sorry about all the patches. I don't have a mac to test on.
Patrick R. Gansterer
Comment 20 2012-08-13 11:25:19 PDT
Comment on attachment 158036 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=158036&action=review > Source/WebCore/platform/PlatformKeyboardEvent.h:31 > +#if PLATFORM(WIN) please use OS(WINDOWS) here and everywhere else in this patch
Alex Christensen
Comment 21 2012-08-13 11:41:55 PDT
Brent Fulgham
Comment 22 2012-08-13 19:58:11 PDT
Comment on attachment 158060 [details] Patch Very nice removal of duplicated code. Thanks for taking this on.
WebKit Review Bot
Comment 23 2012-08-13 20:32:28 PDT
Comment on attachment 158060 [details] Patch Clearing flags on attachment: 158060 Committed r125506: <http://trac.webkit.org/changeset/125506>
WebKit Review Bot
Comment 24 2012-08-13 20:32:33 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.