From bd3078b672cb6c8e96542def5f59befb64323e7a Mon Sep 17 00:00:00 2001 From: Chris Taylor Date: Thu, 27 Oct 2016 18:07:57 +0800 Subject: [PATCH] Make wall_dialog_handler return window_event_result::close instead of closing itself This ensures the event system will know what's going on. Also remove the 'likely' branch prediction macro from close_wall_window because close_wall_window will only be called outside of the wall dialog's handler (to open a different dialog or close the editor). --- similar/editor/medwall.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/similar/editor/medwall.cpp b/similar/editor/medwall.cpp index 280ca3ca9..0eabd7f0c 100644 --- a/similar/editor/medwall.cpp +++ b/similar/editor/medwall.cpp @@ -378,7 +378,7 @@ static window_event_result wall_dialog_created(UI_DIALOG *const w, wall_dialog * void close_wall_window() { - if (likely(MainWindow)) + if (MainWindow) ui_close_dialog(exchange(MainWindow, nullptr)); } @@ -574,8 +574,7 @@ window_event_result wall_dialog_handler(UI_DIALOG *dlg,const d_event &event, wal Update_flags |= UF_WORLD_CHANGED; if (GADGET_PRESSED(wd->quitButton.get()) || keypress == KEY_ESC) { - close_wall_window(); - return window_event_result::handled; + return window_event_result::close; } wd->old_wall_num = Cursegp->sides[Curside].wall_num;