Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.30.0 release roadmap #431

Closed
21 of 22 tasks
elinorbgr opened this issue Jan 1, 2022 · 8 comments
Closed
21 of 22 tasks

0.30.0 release roadmap #431

elinorbgr opened this issue Jan 1, 2022 · 8 comments

Comments

@elinorbgr
Copy link
Member

elinorbgr commented Jan 1, 2022

Things to do and iterate on with alphas before the actual release

And non-blocking, but overall useful thing to do: improve code coverage by writing more tests, see https://app.codecov.io/gh/Smithay/wayland-rs

@i509VCB
Copy link
Member

i509VCB commented Jan 12, 2022

We should probably set deny for the unsafe_op_in_unsafe_fn lint.

Fyi this is going to become default or already is in 2021 edition.

@i509VCB
Copy link
Member

i509VCB commented Mar 20, 2022

Pending a new release of nix to fix the sigpipe signal issue since the new constants are not in nix yet: #457

I think we could use libc though for now to temporarily fix that problem>

@elinorbgr
Copy link
Member Author

It seems like a nix release might not be too far away? https://github.com/nix-rust/nix/milestone/9

@i509VCB
Copy link
Member

i509VCB commented May 18, 2022

split wayland-protocols into multiple crates

This has been done

@A6GibKm
Copy link

A6GibKm commented Jun 9, 2022

backend::sys::client::Backend::from_foreign_display()

Once this is in, how does one get the WlDisplay?. Or alternatively, if I start with a ptr to a wl_surface how do I make use of this api and get a WlSurface.

EDIT: in the particular case of the display, there is Connection::display so it is not a problem, but in general it might be problematic, see https://github.com/gtk-rs/gtk4-rs/blob/master/gdk4-wayland/src/wayland_device.rs#L52 for example where in multiple places we want to get something from a foreign ptr (steat, display, surface, monitor, etc).

@elinorbgr
Copy link
Member Author

elinorbgr commented Jun 9, 2022

Once this is in, how does one get the WlDisplay?. Or alternatively, if I start with a ptr to a wl_surface how do I make use of this api and get a WlSurface.

You need at least a pointer to the wl_display alongside the pointer to the wl_surface. Then:

  • Using Backend::from_foreign_display, you can create a Backend from the *mut wl_display, and create a Connection from that backend using the From impl.
  • You can then use ObjectId::from_ptr to get an ObjectId from the *mut wl_surface
  • And finally use <WlSurface as Proxy>::from_id to get the WlSurface

From that, the only missing part is Backend::from_foreign_display, the rest already exists.

@l4l
Copy link

l4l commented Sep 2, 2023

Is there any migration guide for 0.29.* to the current version?

@elinorbgr
Copy link
Member Author

There is no proper guide (yet), but you can refer to this comment for an overview of what changed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants