[ANNOUNCE] libxkbcommon 0.5.0
Here are the NEWS for this release. There's also a new PACKAGING file[1], for those interested. [1] https://raw.githubusercontent.com/xkbcommon/libxkbcommon/master/PACKAGING libxkbcommon 0.5.0 - 2014-10-18 == - Added support for Compose/dead keys in a new module (included in libxkbcommon). See the documentation or the xkbcommon/xkbcommon-compose.h header file for more details. - Improved and reordered some sections of the documentation. - The doxygen HTML pages were made nicer to read. - Most tests now run also on non-linux platforms. - A warning is emitted by default about RMLVO values which are not used during keymap compilation, which are most often a user misconfiguration. For example, terminate:ctrl_alt_backspace instead of terminate:ctrl_alt_bksp. - Added symbol versioning for libxkbcommon and libxkbcommon-x11. Note: binaries compiled against this and future versions will not be able to link against the previous versions of the library. - Removed several compatablity symbols from the binary (the API isn't affected). This affects binaries which 1. Were compiled against a pre-stable (0.2.0) version of libxkbcommon, and 2. Are linked against the this or later version of libxkbcommon. Such a scenario is likely to fail already. - If Xvfb is not available, the x11comp test is now correctly skipped instead of hanging. - Benchmarks were moved to a separate bench/ directory. - Build fixes from OpenBSD. - Fixed a bug where key type entries such as map[None] = Level2; were ignored. - New API: XKB_COMPOSE_* xkb_compose_* Tarballs: git tag: xkbcommon-0.5.0 http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xz MD5: 2e1faeafcc609c30af3a561a91e84158 libxkbcommon-0.5.0.tar.xz SHA1: 7127993bfb69e13cdff25fb8b3c8f26ce6be5bfa libxkbcommon-0.5.0.tar.xz Ran ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: Recognizing wl_display pointer for EGL (Re: Smart comparing of wl_display_interfaces)
If I understood it right, Dmitry, you are working on an EGL implementation that should dynamically detect the type of the object passed to eglGetDisplay. Mesa already does that, but it is ugly and just a hack that should be avoided. eglGetDisplay was not designed to support multiple platforms, hence why the EGL_EXT_platform_base[1] extension was conceived. Consider implementing and switching to it - which, by the way, is part of EGL 1.5. 1: https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_platform_base.txt On Fri, Oct 17, 2014 at 9:00 PM, Bill Spitzak spit...@gmail.com wrote: On 10/16/2014 11:16 PM, Pekka Paalanen wrote: ...adding a function int/bool wl_is_wl_display_pointer(void *p) into libwayland-client.so. As that function would be built into libwayland-client.so, it naturally uses the client.so version of wl_display_interface symbol (unless dynamic linking miraculously manages to mess that up?). 'p' would be the tentative 'struct wl_display *', so that the implementation details of struct wl_display would be contained in libwayland-client.so, and not leaked elsewhere like e.g. in Mesa. Might be better if the function was more like a cast. It returns either (wl_display*)p or NULL depending on the test. The reason is so the user can just assign it to a correct pointer without doing the cast themselves. This might be important if more of these casts are added in the future, it makes it harder to accidentally run the wrong test for the cast you want to do: struct wl_display* wl_display_dynamic_cast (void* p) { if (test(p)) return (struct wl_display*)p; else return 0; } I am unsure about the exact definition of wl_is_wl_display_pointer(): can it do the dereferencability check itself, or should we require the caller to guarantee that dereferencing cannot crash. The latter would leave the portability burden on the callers rather than libwayland. Probably it should handle NULL. Maybe it should check alignment if wl_display has stricter alignment restrictions than some other plausable arguments. It does not seem to me that a check for pointing to valid memory is necessary. ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: Recognizing wl_display pointer for EGL (Re: Smart comparing of wl_display_interfaces)
On Sat, 2014-10-18 at 18:41 +0200, Kalrish Bäakjen wrote: If I understood it right, Dmitry, you are working on an EGL implementation that should dynamically detect the type of the object passed to eglGetDisplay. Mesa already does that, but it is ugly and just a hack that should be avoided. eglGetDisplay was not designed to support multiple platforms, hence why the EGL_EXT_platform_base[1] extension was conceived. Consider implementing and switching to it - which, by the way, is part of EGL 1.5. Interesting. I'm currently unable to build webkit-gtk with X+wayland support against current wayland/mesa because it attempts to do something like this. 1: https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_platform_base.txt On Fri, Oct 17, 2014 at 9:00 PM, Bill Spitzak spit...@gmail.com wrote: On 10/16/2014 11:16 PM, Pekka Paalanen wrote: ...adding a function int/bool wl_is_wl_display_pointer(void *p) into libwayland-client.so. As that function would be built into libwayland-client.so, it naturally uses the client.so version of wl_display_interface symbol (unless dynamic linking miraculously manages to mess that up?). 'p' would be the tentative 'struct wl_display *', so that the implementation details of struct wl_display would be contained in libwayland-client.so, and not leaked elsewhere like e.g. in Mesa. Might be better if the function was more like a cast. It returns either (wl_display*)p or NULL depending on the test. The reason is so the user can just assign it to a correct pointer without doing the cast themselves. This might be important if more of these casts are added in the future, it makes it harder to accidentally run the wrong test for the cast you want to do: struct wl_display* wl_display_dynamic_cast (void* p) { if (test(p)) return (struct wl_display*)p; else return 0; } I am unsure about the exact definition of wl_is_wl_display_pointer(): can it do the dereferencability check itself, or should we require the caller to guarantee that dereferencing cannot crash. The latter would leave the portability burden on the callers rather than libwayland. Probably it should handle NULL. Maybe it should check alignment if wl_display has stricter alignment restrictions than some other plausable arguments. It does not seem to me that a check for pointing to valid memory is necessary. ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel signature.asc Description: This is a digitally signed message part ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel