Bug 193380
Summary: | [GTK][STABLE] Build fails with OpenGL disabled due to missing PlatformWheelEvent::isEndOfNonMomentumScroll() | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adrian Perez <aperez> |
Component: | Tools / Tests | Assignee: | Adrian Perez <aperez> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | cgarcia, lforschler, mcatanzaro |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | Unspecified | ||
OS: | Linux |
Adrian Perez
This issue has been found by the Buildroot autobuild infrastructure,
the relevant part of the build log is copied below; the complete build
configuration can be found at:
http://autobuild.buildroot.net/results/dd89d219efb711ecaa71a268bd6b36b06b035c80
The issue here is that OpenGL support is disabled at build time (not how
the config file has both BR2_PACKAGE_LIBGTK3_X11 and BR2_PACKAGE_HAS_LIBGLES
disabled, which results in -DENABLE_OPENGL=OFF and -DENABLE_GLES2=OFF being
passed to CMake.
This results in ENABLE_ASYNC_SCROLLING being disabled, due to this bit in
Source/cmake/OptionsGTK.cmake:
WEBKIT_OPTION_DEPEND(ENABLE_ASYNC_SCROLLING ENABLE_OPENGL)
Then, in Source/WebCore/platform/PlatformWheelEvent.h the declaration for
the isEndOfNonMomentumScroll() method is guarded with ENABLE(ASYNC_SCROLLING)
but the actual implementation is guarded with PLATFORM(GTK) — resulting in
the error below due to the missing declaration.
WebKitGTK+ version 2.22.5 is affected, but the issue seems to be solved
in trunk.
----
In file included from /home/buildroot/autobuild/run/instance-2/output/build/webkitgtk-2.22.5/Source/WebCore/dom/WheelEvent.h:28:0,
from /home/buildroot/autobuild/run/instance-2/output/build/webkitgtk-2.22.5/DerivedSources/WebCore/EventHeaders.h:227,
from /home/buildroot/autobuild/run/instance-2/output/build/webkitgtk-2.22.5/DerivedSources/WebCore/EventFactory.cpp:29,
from /home/buildroot/autobuild/run/instance-2/output/build/webkitgtk-2.22.5/DerivedSources/WebCore/unified-sources/UnifiedSource1.cpp:3:
/home/buildroot/autobuild/run/instance-2/output/build/webkitgtk-2.22.5/Source/WebCore/platform/PlatformWheelEvent.h:216:60: error: no 'bool WebCore::PlatformWheelEvent::isEndOfNonMomentumScroll() const' member function declared in class 'WebCore::PlatformWheelEvent'
inline bool PlatformWheelEvent::isEndOfNonMomentumScroll() const
^~~~~
/home/buildroot/autobuild/run/instance-2/output/build/webkitgtk-2.22.5/Source/WebCore/platform/PlatformWheelEvent.h:221:67: error: no 'bool WebCore::PlatformWheelEvent::isTransitioningToMomentumScroll() const' member function declared in class 'WebCore::PlatformWheelEvent'
inline bool PlatformWheelEvent::isTransitioningToMomentumScroll() const
^~~~~
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Michael Catanzaro
Maybe fixed in trunk by r238928?
Adrian Perez
(In reply to Michael Catanzaro from comment #1)
> Maybe fixed in trunk by r238928?
Yes, that's my guess as well. I am leaving a Buildroot compilation
overnight with the same settings as the autobuilder *and* r238928
applied to see whether that works. Thanks!
Adrian Perez
(In reply to Adrian Perez from comment #2)
> (In reply to Michael Catanzaro from comment #1)
> > Maybe fixed in trunk by r238928?
>
> Yes, that's my guess as well. I am leaving a Buildroot compilation
> overnight with the same settings as the autobuilder *and* r238928
> applied to see whether that works. Thanks!
It turns out that applying only r238928 is not enough, with it applied
a different build error shows up:
In file included from /home/aperez/devel/wpe/buildroot/ttt/build/webkitgtk-2.22.5/DerivedSources/WebCore/unified-sources/UnifiedSource322.cpp:8:0:
/home/aperez/devel/wpe/buildroot/ttt/build/webkitgtk-2.22.5/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp: In member function ‘virtual bool WebCore::ScrollAnimatorGtk::handleWheelEvent(const WebCore::PlatformWheelEvent&)’:
/home/aperez/devel/wpe/buildroot/ttt/build/webkitgtk-2.22.5/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp:135:15: error: ‘const class WebCore::PlatformWheelEvent’ has no member named ‘isEndOfNonMomentumScroll’
if (event.isEndOfNonMomentumScroll()) {
^~~~~~~~~~~~~~~~~~~~~~~~
/home/aperez/devel/wpe/buildroot/ttt/build/webkitgtk-2.22.5/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp:140:15: error: ‘const class WebCore::PlatformWheelEvent’ has no member named ‘isTransitioningToMomentumScroll’
if (event.isTransitioningToMomentumScroll()) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Adrian Perez
Buildroot is shipping WebKitGTK 2.26.x, this issue is not a problem anymore.