WebKit Bugzilla
Attachment 362722 Details for
Bug 194898
: [WPE] Inline wl_array_for_each to workaround C++ compatibility issue
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194898-20190222154745.patch (text/plain), 1.92 KB, created by
Charlie Turner
on 2019-02-22 07:47:47 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Charlie Turner
Created:
2019-02-22 07:47:47 PST
Size:
1.92 KB
patch
obsolete
>Subversion Revision: 241790 >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 96708e79bad6a035a8ef720dba9a8e63d295b9b1..2ef591830d57d2992e9b1399ca73de26b7b20dfc 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,14 @@ >+2019-02-22 Charlie Turner <cturner@igalia.com> >+ >+ [WPE] Inline wl_array_for_each to workaround C++ compatibility issue >+ https://bugs.webkit.org/show_bug.cgi?id=194898 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * wpe/backends/WindowViewBackend.cpp: wl_array_for_each relies on >+ a GCC extension that permits arithmetic on void* pointer. Inline >+ the macro until this issue is fixed upstream. >+ > 2019-02-20 Adrian Perez de Castro <aperez@igalia.com> > > [WPE][GTK] Enable support for CONTENT_EXTENSIONS >diff --git a/Tools/wpe/backends/WindowViewBackend.cpp b/Tools/wpe/backends/WindowViewBackend.cpp >index 20f03b80babdd386612adc3ccee23256c8cbf3d5..07887f1b390b2f724dd8d1110787174c35800fce 100644 >--- a/Tools/wpe/backends/WindowViewBackend.cpp >+++ b/Tools/wpe/backends/WindowViewBackend.cpp >@@ -441,10 +441,15 @@ const struct zxdg_toplevel_v6_listener WindowViewBackend::s_xdgToplevelListener > > #if defined(WPE_BACKEND_CHECK_VERSION) && WPE_BACKEND_CHECK_VERSION(1, 1, 0) > bool isFocused = false; >- void* p; >- wl_array_for_each(p, states) >- { >- uint32_t state = *static_cast<uint32_t*>(p); >+ // FIXME: It would be nice if the following loop could use >+ // wl_array_for_each, but at the time of writing it relies on >+ // GCC specific extension to work properly: >+ // https://gitlab.freedesktop.org/wayland/wayland/issues/34 >+ uint32_t* pos = static_cast<uint32_t*>(states->data); >+ uint32_t* end = static_cast<uint32_t*>(states->data) + states->size; >+ >+ for (; pos < end; pos++) { >+ uint32_t state = *pos; > > switch (state) { > case ZXDG_TOPLEVEL_V6_STATE_ACTIVATED:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194898
:
362603
|
362715
| 362722