[Webkit-unassigned] [Bug 35607] Allow building smoothly on win32 and win64 using GCC

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 15 12:14:17 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=35607


Adam Roben (aroben) <aroben at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #52433|review?                     |review-
               Flag|                            |




--- Comment #50 from Adam Roben (aroben) <aroben at apple.com>  2010-04-15 12:14:15 PST ---
(From update of attachment 52433)
> +++ WebCore/ChangeLog	(working copy)
> @@ -23807,6 +23807,26 @@
>          (WebCore::GraphicsContext::fillRect): Ditto
>          (WebCore::GraphicsContext::strokeRect): Ditto
>  
> +2010-03-25  Ruben Van Boxem  <vanboxem.ruben at gmail.com>
> +
> +        Reviewed by NOBODY (OOPS!).
> +
> +        Mingw-w64 fixes for WebCore
> +        https://bugs.webkit.org/show_bug.cgi?id=35607
> +
> +        No new tests.
> +
> +        * platform/Arena.h: fix pointer precision loss error with mingw-w64
> +        * platform/graphics/transforms/TransformationMatrix.h: let mingw64 use msvc codepath
> +        * platform/text/TextStream.cpp: let mingw-w64 use msvc codepath
> +        * platform/text/TextStream.h: let mingw-w64 use msvc codepath
> +        * plugins/PluginView.cpp: fix pointer precision loss error with mingw-w64
> +        (WebCore::PluginView::stop):
> +        * plugins/win/PluginViewWin.cpp: let mingw-w64 use msvc codepath
> +        (WebCore::PluginView::paintIntoTransformedContext):
> +        (WebCore::PluginView::setNPWindowRect):
> +        (WebCore::PluginView::platformStart):
> +

You should put your entry at the top of the ChangeLog file, and update the
date.

> +++ WebCore/platform/Arena.h	(working copy)
> @@ -44,7 +44,7 @@
>  
>  namespace WebCore {
>  
> -typedef unsigned long uword;
> +typedef uintptr_t uword;

I know that some uses of uword are meant to hold pointers, but what about
ArenaPool::mask?

> -#if OS(WINDOWS) && PLATFORM(X86_64) && COMPILER(MSVC)
> +#if OS(WINDOWS) && CPU(X86_64)
>  TextStream& TextStream::operator<<(__int64 i)
>  {
>      char buffer[printBufferSize];
> Index: WebCore/platform/text/TextStream.h
> ===================================================================
> --- WebCore/platform/text/TextStream.h	(revision 56567)
> +++ WebCore/platform/text/TextStream.h	(working copy)
> @@ -45,7 +45,7 @@ public:
>      TextStream& operator<<(const char*);
>      TextStream& operator<<(void*);
>      TextStream& operator<<(const String&);
> -#if OS(WINDOWS) && PLATFORM(X86_64) && COMPILER(MSVC)
> +#if OS(WINDOWS) && CPU(X86_64)
>      TextStream& operator<<(unsigned __int64);
>      TextStream& operator<<(__int64);
>  #endif

Will this screw up the 64-bit Qt Windows build? (Is there such a thing?)

> @@ -544,7 +544,7 @@ void PluginView::paintIntoTransformedCon
>  
>      NPEvent npEvent;
>      npEvent.event = WM_WINDOWPOSCHANGED;
> -    npEvent.lParam = reinterpret_cast<uint32>(&windowpos);
> +    npEvent.lParam = reinterpret_cast<uintptr_t>(&windowpos);
>      npEvent.wParam = 0;
>  
>      dispatchNPEvent(npEvent);
> @@ -552,7 +552,7 @@ void PluginView::paintIntoTransformedCon
>      setNPWindowRect(frameRect());
>  
>      npEvent.event = WM_PAINT;
> -    npEvent.wParam = reinterpret_cast<uint32>(hdc);
> +    npEvent.wParam = reinterpret_cast<uintptr_t>(hdc);

These fields are declared to be of type uint32, so these casts look wrong.

> @@ -829,7 +829,7 @@ void PluginView::setNPWindowRect(const I
>  #else
>          WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
>          if (currentWndProc != PluginViewWndProc)
> -            m_pluginWndProc = (WNDPROC)SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG)PluginViewWndProc);
> +            m_pluginWndProc = (WNDPROC)SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (intptr_t)PluginViewWndProc);

That should be LONG_PTR, not intptr_t.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list