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
Port select-frame #1384
base: master
Are you sure you want to change the base?
Port select-frame #1384
Conversation
Would you like to give porting |
Typically, we would port |
ok, I will try to do it. |
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.
Let's merge this. You can always open another PR.
Sorry for the delay, folks. I've added an initial implementation of |
I wonder how to deal with Travis builds errors. Basically, it's complaining about unused |
This means you do not have enough |
I would recommend at least for now to just rename |
@yshalenyk are you interested in picking this back up? |
2173797
to
3f212f4
Compare
@shaleh yes, I've rebased on top of current master and tweaked code based on review comments. CI failed I will fix it this evening |
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.
This looks like a gnarly one, thanks for taking a stab at it. I have a few stylistic suggestions, I have yet to properly look over the logic, but what I have looked at seems solid.
Some(f) if f.eq(¤t_frame_ref) => unsafe { | ||
Fredirect_frame_focus(xfocus, frame); | ||
}, | ||
None if focus.is_nil() |
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.
focus.is_nil()
should not* be necessary as it's implied by as_frame()
returning None
*Misspelled not as now
rust_src/src/frame.rs
Outdated
@@ -857,96 +857,103 @@ pub extern "C" fn do_switch_frame( | |||
// This used to check for a live frame, but apparently it's possible for | |||
// a switch-frame event to arrive after a frame is no longer live, | |||
// especially when deleting the initial frame during startup. | |||
if let Some(mut target_frame) = frame.as_live_frame() { | |||
if target_frame.eq(¤t_frame_ref) { |
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.
I think this one got lost in the translation to a match statement. It could be added back my adding a
Some(target_frame) if target_frame.eq(¤t_frame_ref) => return frame,
branch to the start of the match
No description provided.