MCPcopy Index your code
hub / github.com/encounter/objdiff / pre_update

Method pre_update

objdiff-gui/src/views/symbol_diff.rs:145–191  ·  view source on GitHub ↗
(&mut self, jobs: &mut JobQueue, state: &AppStateRef)

Source from the content-addressed store, hash-verified

143
144impl DiffViewState {
145 pub fn pre_update(&mut self, jobs: &mut JobQueue, state: &AppStateRef) {
146 jobs.results.retain_mut(|result| match result {
147 JobResult::ObjDiff(result) => {
148 self.build = take(result);
149
150 // Clear reload flag so that we don't reload the view immediately
151 if let Ok(mut state) = state.write() {
152 state.queue_reload = false;
153 }
154
155 // TODO: where should this go?
156 if let Some(result) = self.post_build_nav.take() {
157 self.current_view = result.view;
158 self.symbol_state.left_symbol = result.left_symbol;
159 self.symbol_state.right_symbol = result.right_symbol;
160 // Clear the mapping filter so it's not saved between mapping different symbols.
161 self.mapping_search = "".to_string();
162 self.mapping_search_regex = None;
163 }
164
165 false
166 }
167 JobResult::CreateScratch(result) => {
168 self.scratch = take(result);
169 false
170 }
171 _ => true,
172 });
173 self.build_running = jobs.is_running(Job::ObjDiff);
174 self.scratch_running = jobs.is_running(Job::CreateScratch);
175
176 self.symbol_state.disable_reverse_fn_order = false;
177 if let Ok(state) = state.read() {
178 if let Some(obj_config) = &state.config.selected_obj {
179 if let Some(value) = obj_config.reverse_fn_order {
180 self.symbol_state.reverse_fn_order = value;
181 self.symbol_state.disable_reverse_fn_order = true;
182 }
183 self.source_path_available = obj_config.source_path.is_some();
184 } else {
185 self.source_path_available = false;
186 }
187 self.scratch_available = is_create_scratch_available(&state.config);
188 self.object_name =
189 state.config.selected_obj.as_ref().map(|o| o.name.clone()).unwrap_or_default();
190 }
191 }
192
193 pub fn post_update(
194 &mut self,

Callers

nothing calls this directly

Calls 4

is_runningMethod · 0.80
is_someMethod · 0.80
writeMethod · 0.45

Tested by

no test coverage detected