|
1656 | 1656 | <span class="kw">match </span><span class="self">self</span>.display {
|
1657 | 1657 | DisplayRef::X11(ptr) => <span class="kw">unsafe </span>{
|
1658 | 1658 | <span class="kw">let </span>func: libloading::Symbol<XCloseDisplayFun> =
|
1659 |
| - <span class="self">self</span>.library.get(<span class="string">b"XCloseDisplay"</span>).unwrap(); |
| 1659 | + <span class="self">self</span>.library.get(<span class="string">b"XCloseDisplay\0"</span>).unwrap(); |
1660 | 1660 | func(ptr.as_ptr());
|
1661 | 1661 | },
|
1662 | 1662 | DisplayRef::Wayland => {}
|
|
1668 | 1668 | <span class="macro">log::debug!</span>(<span class="string">"Loading X11 library to get the current display"</span>);
|
1669 | 1669 | <span class="kw">unsafe </span>{
|
1670 | 1670 | <span class="kw">let </span>library = find_library(<span class="kw-2">&</span>[<span class="string">"libX11.so.6"</span>, <span class="string">"libX11.so"</span>])<span class="question-mark">?</span>;
|
1671 |
| - <span class="kw">let </span>func: libloading::Symbol<XOpenDisplayFun> = library.get(<span class="string">b"XOpenDisplay"</span>).unwrap(); |
| 1671 | + <span class="kw">let </span>func: libloading::Symbol<XOpenDisplayFun> = library.get(<span class="string">b"XOpenDisplay\0"</span>).unwrap(); |
1672 | 1672 | <span class="kw">let </span>result = func(ptr::null());
|
1673 | 1673 | ptr::NonNull::new(result).map(|ptr| DisplayOwner {
|
1674 | 1674 | display: DisplayRef::X11(ptr),
|
|
1695 | 1695 | <span class="kw">let </span>library = <span class="kw">unsafe </span>{
|
1696 | 1696 | <span class="kw">let </span>client_library = find_library(<span class="kw-2">&</span>[<span class="string">"libwayland-client.so.0"</span>, <span class="string">"libwayland-client.so"</span>])<span class="question-mark">?</span>;
|
1697 | 1697 | <span class="kw">let </span>wl_display_connect: libloading::Symbol<WlDisplayConnectFun> =
|
1698 |
| - client_library.get(<span class="string">b"wl_display_connect"</span>).unwrap(); |
| 1698 | + client_library.get(<span class="string">b"wl_display_connect\0"</span>).unwrap(); |
1699 | 1699 | <span class="kw">let </span>wl_display_disconnect: libloading::Symbol<WlDisplayDisconnectFun> =
|
1700 |
| - client_library.get(<span class="string">b"wl_display_disconnect"</span>).unwrap(); |
| 1700 | + client_library.get(<span class="string">b"wl_display_disconnect\0"</span>).unwrap(); |
1701 | 1701 | <span class="kw">let </span>display = ptr::NonNull::new(wl_display_connect(ptr::null()))<span class="question-mark">?</span>;
|
1702 | 1702 | wl_display_disconnect(display.as_ptr());
|
1703 | 1703 | find_library(<span class="kw-2">&</span>[<span class="string">"libwayland-egl.so.1"</span>, <span class="string">"libwayland-egl.so"</span>])<span class="question-mark">?
|
|
2807 | 2807 | (WindowKind::Wayland, Rwh::Wayland(handle)) => {
|
2808 | 2808 | <span class="kw">let </span>library = <span class="kw-2">&</span><span class="self">self</span>.wsi.display_owner.as_ref().unwrap().library;
|
2809 | 2809 | <span class="kw">let </span>wl_egl_window_create: libloading::Symbol<WlEglWindowCreateFun> =
|
2810 |
| - <span class="kw">unsafe </span>{ library.get(<span class="string">b"wl_egl_window_create"</span>) }.unwrap(); |
| 2810 | + <span class="kw">unsafe </span>{ library.get(<span class="string">b"wl_egl_window_create\0"</span>) }.unwrap(); |
2811 | 2811 | <span class="kw">let </span>window =
|
2812 | 2812 | <span class="kw">unsafe </span>{ wl_egl_window_create(handle.surface.as_ptr(), <span class="number">640</span>, <span class="number">480</span>) }
|
2813 | 2813 | .cast();
|
|
2916 | 2916 | <span class="kw">if let </span><span class="prelude-val">Some</span>(window) = wl_window {
|
2917 | 2917 | <span class="kw">let </span>library = <span class="kw-2">&</span><span class="self">self</span>.wsi.display_owner.as_ref().unwrap().library;
|
2918 | 2918 | <span class="kw">let </span>wl_egl_window_resize: libloading::Symbol<WlEglWindowResizeFun> =
|
2919 |
| - <span class="kw">unsafe </span>{ library.get(<span class="string">b"wl_egl_window_resize"</span>) }.unwrap(); |
| 2919 | + <span class="kw">unsafe </span>{ library.get(<span class="string">b"wl_egl_window_resize\0"</span>) }.unwrap(); |
2920 | 2920 | <span class="kw">unsafe </span>{
|
2921 | 2921 | wl_egl_window_resize(
|
2922 | 2922 | window,
|
|
2988 | 2988 | .expect(<span class="string">"unsupported window"</span>)
|
2989 | 2989 | .library;
|
2990 | 2990 | <span class="kw">let </span>wl_egl_window_destroy: libloading::Symbol<WlEglWindowDestroyFun> =
|
2991 |
| - <span class="kw">unsafe </span>{ library.get(<span class="string">b"wl_egl_window_destroy"</span>) }.unwrap(); |
| 2991 | + <span class="kw">unsafe </span>{ library.get(<span class="string">b"wl_egl_window_destroy\0"</span>) }.unwrap(); |
2992 | 2992 | <span class="kw">unsafe </span>{ wl_egl_window_destroy(window) };
|
2993 | 2993 | }
|
2994 | 2994 | }
|
|
0 commit comments