-
Notifications
You must be signed in to change notification settings - Fork 567
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
Update all gtk crates to 18.x #2391
Conversation
Sorry for letting this sit for so long. Are you still interested in moving this forward? The Also, Piet now has the GTK crates at 0.19. I will soon make a Piet release too. Until then, we could use a git pin. If you're interested, feel free to change this PR to 0.19 with the latest Piet git pin. If you just want to get the update to 0.18 that is fine too. |
I'm happy to update this PR yes! I'll need to check if updating to GTK 0.19 will break anything I'm working on (I have a bunch of other dependencies with GTK crates in their deps as well) so will default to only going to 0.18 for now. |
08fa2c0
to
cc7cb62
Compare
cairo-rs = { version = "0.16.7", default-features = false, features = ["xcb"] } | ||
cairo-sys-rs = { version = "0.16.3", default-features = false, optional = true } | ||
cairo-rs = { version = "0.18.0", default-features = false, features = ["xcb"] } | ||
cairo-sys-rs = { version = "0.18.0", default-features = false, optional = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you don't need to explicitly depend on this, you can get it from cairo::ffi
gtk-rs = { version = "0.16.2", package = "gtk", optional = true } | ||
glib-sys = { version = "0.16.3", optional = true } | ||
gtk-sys = { version = "0.16.0", optional = true } | ||
gtk-rs = { version = "0.18.0", package = "gtk", optional = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from gtk, you can go to gtk::gdk::ffi
for example, all those dependencies are not needed. You could just depend on gtk
except for cairo where you enable xcb
feature
use gtk::glib::translate::FromGlib; | ||
use gtk::prelude::*; | ||
use gtk::traits::SettingsExt; | ||
use gtk::traits::GtkSettingsExt; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use gtk::traits::GtkSettingsExt; |
already part of the prelude
@@ -427,7 +427,7 @@ impl WindowBuilder { | |||
.connect_enter_notify_event(|widget, _| { | |||
widget.grab_focus(); | |||
|
|||
Inhibit(true) | |||
cairo::glib::Propagation::Stop |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you imported it above
Would it make sense to try gtk-rs-core 0.20 now? |
Can't move on to 0.20 because Also, this PR here has been superseded by #2410. If @atlanticaccent or anyone else has interest in the upgrade to 0.18 then please take a look at #2410 and see if it works for you, so we can get that merged. |
Updates all GTK dependencies from 0.16.x to 0.18.x.
Fixes breaking changes introduced.
Also adds a top level allow for clippy::arc_with_non_send_sync as it's triggered pretty much everywhere in the project and is a massive undertaking to fix.
Currently using a git dependency for piet as it does not have a release including updates to its GTK dependencies.