diff --git a/desktop/src/custom_event.rs b/desktop/src/custom_event.rs index 7eed93ef1..44fcb9131 100644 --- a/desktop/src/custom_event.rs +++ b/desktop/src/custom_event.rs @@ -4,4 +4,7 @@ pub enum RuffleEvent { /// Indicates that one or more tasks are ready to poll on our executor. TaskPoll, + + /// Indicates that an asynchronous SWF metadata load has been completed. + OnMetadata(ruffle_core::swf::HeaderExt), } diff --git a/desktop/src/main.rs b/desktop/src/main.rs index 880b4c0a3..156f7c5d3 100644 --- a/desktop/src/main.rs +++ b/desktop/src/main.rs @@ -124,6 +124,17 @@ fn parse_url(path: &Path) -> Result> { }) } +fn parse_parameters(opt: &Opt) -> impl '_ + Iterator { + opt.parameters.iter().map(|parameter| { + let mut split = parameter.splitn(2, '='); + if let (Some(key), Some(value)) = (split.next(), split.next()) { + (key.to_owned(), value.to_owned()) + } else { + (parameter.clone(), "".to_string()) + } + }) +} + fn pick_file() -> Option { FileDialog::new() .add_filter(".swf", &["swf"]) @@ -147,41 +158,27 @@ fn load_movie(url: &Url, opt: &Opt) -> Result